argv[1]只获取了一个字符,不能取得整个字符串

因为输入字符不是ansi的,而是宽字节的。
只要先调用一次wcstombs就可以用了,如果是多个参数,就一个一个的去转换吧。
这个是MSDN上的例子
void main( void )
{
   int      i;
   char    *pmbbuf   = (char *)malloc( MB_CUR_MAX );
   wchar_t *pwchello = L"Hello, world.";

   printf( "Convert wide-character string:\n" );
   i = wcstombs( pmbbuf, pwchello, MB_CUR_MAX );
   printf( "\tCharacters converted: %u\n", i );
   printf( "\tMultibyte character: %s\n\n", pmbbuf );
}
pwchello取 argv[1] 多个用for循环 argv[i]

你可能感兴趣的:(String,character)