【发布时间】:2015-05-01 07:41:53
【问题描述】:
我正在尝试编写一个函数来读取一行,将每个字符保存到一个数组中,操作该字符数组,将结果打印到另一个文件,然后移动到文件中的下一行。
一些示例输入/输出如下(程序的目的是找到导数 - 但那部分代码工作正常。):
INPUT:
x
4x^4
91
sinx
OUTPUT:
1
16x^3
0
cosx
到目前为止我写的函数:
int main(){
FILE *inptr = fopen("functions.txt", "r");
FILE *outptr = fopen( "derive.txt", "w");
if(inptr)
derive(inptr,outptr);
return 0;
}
void derive(FILE *inptr, FILE *outptr){
int i;
char in = '0';
char array[MAX];
while((in = fgetc(inptr)) != EOF){
for(i = 0; in != '\n'; i++){
fscanf(inptr, "%c", &in);
array[i] = in;
}
manipulate(array, outptr); // Function that finds the derivative and prints to output file
}
}
我的问题是:如何将文件指针 inptr 移动到下一行?
【问题讨论】:
-
fgets有什么问题? -
char line[12345]; while (fgets(inptr, line, sizeof line)) /* deal with line */; -
char in = '0';应该是一个 int,否则in != EOF可能会失败。