我正在尝试重定向要通过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);
}
然而,我无法判断它是否接近,或者我是否误解了究竟发生了什么。
任何澄清/建议都将不胜感激!