将文件重定向为输入并在C中读取/存储其数据

时间:2017-04-20 00:49:53

标签: c file-io arguments argv

我正在尝试重定向要通过stdin读取的文件,它应该如下所示:

./a.out < filename

该文件的内容如下:

12.3456
23.4567
34.5678

依此类推,每行都有一个浮点数。

我在概念上和实际代码中遇到了一些问题。我第一次尝试阅读它是使用文件I / O,但这不起作用。因为它被直接送到stdin,所以据我所知,我不需要它。然后,我尝试了这样的事情:

char temp_str[10];
float temp_float;

FILE *stdin;

while(!feof(stdin))   //It seg faults right here
{
    fgets(temp_str, 10, stdin);
    temp_float = atof(temp_str);      //This stuff worked when I read it using FILE IO,
                                  //but it's causing trouble in this example
    printf("%.4f\n", temp_float);     
}

然而,我无法判断它是否接近,或者我是否误解了究竟发生了什么。

任何澄清/建议都将不胜感激!

0 个答案:

没有答案