可能重复:
What is the difference between _tmain() and main() in C++?
好的,我不知道这里有什么问题。 我试图通过在C ++中使用argv来读取一些文件名,但由于某种原因,只传递文件名的第一个字符。 我向您展示了代码的一部分。
int _tmain(int argc, char * argv[])
{
int i;
char *s1 = argv[1];
printf("%s\n", s1);
for( i=1; i<argc; i++ )
printf("%s\n", argv[i]);
return 0;
}
//The argv[1] I am passing is a file name like "TestFile.txt"
//The print out that I am getting is:
//T
//T
这是什么问题?任何帮助都会非常感激。 感谢。
答案 0 :(得分:1)
我的猜测是您的环境使用宽字符集。因此,如果wprintf或wcout有效,你可以试试。
答案 1 :(得分:0)
你的程序运行得很好,这是输出。
$ ./a.out textfile.txt
textfile.txt
textfile.txt
请问您是否使用%s
或%c
作为格式说明符?
答案 2 :(得分:0)
C数组索引从零开始,因此s1的初始化应为:
char* s1 = argv[0];
答案 3 :(得分:0)
如果你想要一个_tmain,你需要制作一个TCHAR * argv。