我在C中有以下代码部分:
int main(int argc, char *argv[])
{
char *input;
int lines;
int p;
input = (char*)malloc(10);
input = argv[0];
for(p=0;p<10;p++)
{
printf("%c",input[p]);
}
在我的Unix系统上,我进行以下调用:
./program_name.exe < inputfile
其中inputfile
是包含以下内容的文件:000000010Z
我收到的前一个命令的输出是:
./program_
我错过了什么?
答案 0 :(得分:1)
argv[0]
包含正在执行的程序的名称。这是你唯一印刷的东西。
您尝试做的是从文件中读取,因为它是标准输入。但你仍然需要阅读它。使用getchar()或任何其他读取输入的函数。