none
我的argv只返回一个字符串!!! RRS feed

  • 问题

  • #include "stdafx.h"
    #include <iostream>
    #include <cstdlib>
    #include <conio.h>
    #include <cctype>

    using namespace std;

     

    int _tmain(int argc, char* argv[])
    {
     
     cout << "Hello "<< argv[1] << endl;
     system("pause");
     return 0;
    }

    上述代码的程序我用命令行提示符运行,并且输入一个任意参数,只返回了该参数的第一个字符!!

                                               c:\kl.exe hlsdf

                                               Hello h

                                               请按任意键继续...

    求解!!(传不了截图)

    2013年6月30日 8:37

答案

  • 您当前的工程设置应该是Unicode编码吧,修改成这样既可
    #include "stdafx.h"
    #include <iostream>
    #include <cstdlib>
    #include <conio.h>
    #include <cctype>
    
    using namespace std;
    
    int _tmain(int argc, TCHAR* argv[])
    {
    
    	wcout << L"Hello "<< argv[1] << endl;
    	system("pause");
    	return 0;
    }

    或者代码无需修改,直接将工程的编码修改成Multi-Byte多字节编码模式

    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    2013年7月1日 1:32
    版主