Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C程序设计中使用终端导入文本文件_C - Fatal编程技术网

在C程序设计中使用终端导入文本文件

在C程序设计中使用终端导入文本文件,c,C,我正在尝试用C语言编写一个程序,我将从终端运行,并接受文件中的一些行作为输入,例如error.log。我该怎么做 命令示例: ./prog

我正在尝试用C语言编写一个程序,我将从终端运行,并接受文件中的一些行作为输入,例如error.log。我该怎么做

命令示例:
./prog如果您使用shell语法进行输入重定向(即
如果您想将文件名作为参数,那么,正如注释者所指出的,您可以在传递给主函数的argv数组中找到这些参数,从索引1开始。

这是开始的示例

#include <stdio.h>

#define BLOCK_SIZE 256

int main(int argc, char** argv)
{
    char buf[BLOCK_SIZE];
    size_t bytes;

    while(!feof(stdin)) {
        bytes = fread(buf, 1, BLOCK_SIZE, stdin);
        fwrite(buf, 1, bytes, stdout);
    }
    return 0;
}

它只是打印出您指定为./prog的文件,这就是argc和argv的用途。我想您指的是*nix管道,这意味着您从标准输入读取?这是输入重定向,与从用户键盘输入读取的代码相同。另外,您尝试了什么?您不必写任何东西,只需在argv上循环,跳过索引0处的值。文件在那里,谢谢!那帮了大忙!