cmd.rst
changeset 355 cbb3da2b12fb
parent 350 f7899ef26f6f
child 356 9592e984ea6d
--- a/cmd.rst	Sun Mar 21 20:50:12 2010 +0200
+++ b/cmd.rst	Sun Mar 21 22:21:53 2010 +0200
@@ -1,5 +1,29 @@
 -*- outline -*-
 
+* Quoting.
+
+ * Arguments are delimited by white space, which is either a space or a tab.
+ * A string surrounded by double quotation marks is interpreted as a single
+   argument.
+ * A double quotation mark preceded by a backslash, \", is interpreted as a
+   literal double quotation mark.
+ * Backslashes are interpreted literally, unless they immediately precede a
+   double quotation mark.
+ * If an even number of backslashes is followed by a double quotation mark,
+   then one backslash (\) is placed in the argv array for every pair of
+   backslashes (\\), and the double quotation mark (") is interpreted as a
+   string delimiter.
+ * If an odd number of backslashes is followed by a double quotation mark,
+   then one backslash (\) is placed in the argv array for every pair of
+   backslashes (\\) and the double quotation mark is interpreted as an escape
+   sequence by the remaining backslash, causing a literal double quotation
+   mark (") to be placed in argv.
+ * In double quote mark need surround such chars:
+     & < > [ ] { } ^ = ; ! ' + , ` ~
+
+  http://msdn.microsoft.com/en-us/library/ms880421.aspx
+                Parsing C Command-Line Arguments
+
 * Variables.
 
 Variable name start with letter and underscore, next chars can be letter,