1

我在 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_

我错过了什么?

4

1 回答 1

1

argv[0] 保存正在执行的程序的名称。这是您打印的唯一内容。

你想要做的是从你的文件中读取,因为它是标准输入。但你仍然必须阅读它。使用 getchar() 或任何其他读取输入的函数。

于 2013-09-19T23:20:29.470 回答