在C中输入重定向

时间:2013-10-17 20:26:53

标签: c arrays redirect input

通过输入重定向(例如下面的文件)给出一个文件,如何将值存储在数组中以便我可以对它们执行计算? (另外,顶行只是为了输出而重印,所以这个问题主要与小数有关)

输入示例:

157932   09 01 2013
0.00 0.00 0.00
0.36 0.27 0.23
0.18 0.16 0.26
0.27 0.00 0.34
0.24 0.00 0.31
0.16 0.33 0.36
0.29 0.36 0.00
0.21 0.36 0.00

2 个答案:

答案 0 :(得分:1)

编辑:误读问题,思想文件作为参数传递给程序,而不是被重定向。哎呦!无视这篇文章。

基于文件的输入使用文件指针在C中处理。

FILE* fp; // declare file pointer named fp
fp = fopen("/*name of file/*", "r"); 

第一个参数是文件的名称(使用argv / argc访问),第二个参数是一个字符串,指定您计划如何与文件进行交互。在这种情况下,“r”指定您要从中读取。其他包括“w”,写,“a”,追加等等。

fscanf(fp, "%d %d %d", var1, var2, var3); 

文件指针使用稍微修改的scant和printf函数来读取/写入它们。它们实际上是相同的,唯一的区别是函数的名称以f开头,第一个参数是指向相关文件的文件指针。上面的示例将从指向fp三个整数的文件中读入,并将它们存储在var1,var2和var3中。

fclose(fp);

请务必在写完文件后关闭文件! “fclose”关闭与文件指针fp关联的文件。如果你愿意,可以重新使用fp。

答案 1 :(得分:0)

使用

scanf("%lf,%lf,%lf", &A[i][0], &A[i][1], &A[i][2])
每行