为什么它不会在函数afile
内从bfile
到copy()
正确复制每一行?
问题出在encr()
方法中。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int copy(FILE *afile, FILE *bfile){
char line[100];
while(fgets(line, 100, line) != NULL){
fprintf(bfile, "%s\n", line);
}
return 1;
}
int main(int argc, char *argv[])
{
FILE *afile;
FILE *bfile;
input = fopen(argv[1], "r");
output = fopen(argv[2], "w");
copy(input, output);
fclose(output);
}
return 0;
}
答案 0 :(得分:3)
您需要解析for循环中的行,例如:
while(fgets(line, sizeof(line), input) != NULL){
for (index = 0; line[index] != 0; index++) {
p = line[index];
...
...
fputc(c, output);
//index++; remove this line
}
}