I'm trying to write windows console application working with directories, and i
discover that arguments processed not right. For example:

#include <iostream>
int main ( int argc, char *argv[], char *envp[] ) {
std::cout << "you have " << argc << " arguments";
}

resulting:

>a.exe "a a"
you have 2 arguments
>a.exe "a a" a
you have 3 arguments
>a.exe "a a\" a
you have 2 arguments

As i understand, backslash is escaping double quote and we have [a a" a]
argument instead of [a a\],[a].
It's very sad, because i must operate with directories or UNC paths like:
"\\serv\share\some dir with spaces\" where double quotes is required and
backslash can be present.

Quoting long file paths with double quotes and backslashes in paths is a common
thing in windows console programs.


-- 
           Summary: Problem with command line arguments in windows
           Product: gcc
           Version: 4.4.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: alexandrfedorov at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44399

Reply via email to