假设我在C中有以下代码:
FILE* a=fopen("myfile.txt","r");
FILE* b,c;
'a'中有一个分隔线,用于指定我要分割的位置;我想把'a'的内容分成'b'和'c'。我想这样做而不创建任何其他文件。
后来,我想通过创建指向'FILE *'的指针数组来动态地执行此操作。因此分隔符行的数量将是任意的。
对于这种情况,假设分隔符行是任何具有字符串'delim'的行。
答案 0 :(得分:2)
概念可能是:
1)fopen()
INFILE和(第一个)OUTFILE
2)虽然你可以,fgets()
从INFILE行和strncmp()
行到分隔符
2.a)未找到分隔符:fputs()
到OUTFILE的行
2.b)分隔符找到:fclose()
OUTFILE和fopen()
下一个OUTFILE
2.c)文件结束:中断循环
3)fclose()
INFILE和OUTFILE
或者这样:
1)fopen()
INFILE
2)fseek()
到流的末尾并使用ftell()
获取文件位置,让我们调用此N
3)rewind()
流和fread()
N
字节从中传入缓冲区。
4)fclose()
INFILE
5)虽然你可以,strstr()
你的缓冲区中的分隔符和fwrite()
之间的数据块到OUTFILEs