我正在为介绍性课程开发一个C程序,目前我一直在使用它。从文件中读取数据并打印到另一个文件的程序
该程序通过泰勒级数展开计算cos(x)的近似值。
问题是它从dat读取输入。文件,其中包含一定数量的每行三个数字的行,其中包含要处理的信息。
例如,dat。文件可能是:
5
1 -1 6
2 1 .0001
2 1.5 2
...
每一行的第一个数字确定,以计算COS(x)的该方法,第二个数字确定x的值等
我处理此文件作为一个多维数组:
int array[64][64], m;
FILE *ifp
ifp = fopen("cos_input.dat", "r");
i = 0;
fscanf(ifp, %d\n", &m); //takes the first value into int m
while (fscanf(ifp, "%d %d %d\n", &array[i][0], &array[i][1], &array[i][2]) == 3) {
i++;
}
^此代码(我认为)将输入数据文件放入amx 3数组。
现在我需要操纵数组的元素,然后将它们写入另一个输出dat。文件,它采用的形式,例如:
x = 1
x = 2
x = 3
x = 4
...
我的概念来完成,这是第一次,实现我与存储在多维数组中的值等功能,我相信我能做到的,只是声明我的数组的每个值,并将它们投入到计算混合器中,这是我的其他功能。 (例如,power(array [3] [2],array [1] [2]);)然后我必须将它们打印到dat。文件,我不知道该怎么做。
这是因为我对指针和fprintf/fscanf函数的知识非常粗略。
当我编写我的最终数据时,它将包含一些循环,每个循环将会吐出一行值。什么是代码来使用打印到cos_output.dat?我必须创建一个新的指针表达式'ofp',类似于我创建'ifp'以打开输入文件并使用scanf实现它吗?
这是我第一个也是唯一一个可以提出的步骤。
FILE *ofp; //output file pointer
ofp = fopen("cos_output.dat", "w"); //the final output data file
//.... how to print? T_T
非常感谢您的帮助!
(http://ece15.ucsd.edu/Labs/lab3.pdf)< - 仅当我的解释不清楚时才会链接到作业(问题1)。
我认为你真的应该想出更多的代码,尽管你的问题本身格式化和清晰。 –