【问题标题】:Command Line Arg in VC++ 2010VC++ 2010 中的命令行参数
【发布时间】:2011-08-19 04:34:45
【问题描述】:

命令行参数在每个字符后都为空假设我从命令提示符调用程序,如“abc.exe 测试数据”,然后在内存中每个字符后都有一个空格,数据是“test.data”什么是问题。 它只打印第一个字符而不是完整的字符串“test” 什么问题。 int _tmain(int argc, _TCHAR* argv[]) { printf("Argc %d %s 的个数",argc,argv[1]); 返回0; }

【问题讨论】:

    标签: visual-c++ visual-c++-2010


    【解决方案1】:

    您正在使用 UNICODE 编码(请参阅 _tmain_tchar 中的 _t 前缀)。 这种编码将字符存储在 2 个字节上。

    因此您应该使用_tprintf 而不是printf

    【讨论】:

    • 如果您坚持使用 printf(),您可以使用 %S 格式说明符来输出 WCHAR。正确的方法是@Heandel 所说的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    • 2011-04-11
    • 1970-01-01
    • 2010-09-13
    • 2012-02-25
    • 1970-01-01
    • 2016-03-25
    相关资源
    最近更新 更多