假设我在 C 中有以下代码:
FILE* a=fopen("myfile.txt","r");
FILE* b,c;
'a'中有一个分隔线,它指定了我要分割的地方;我想将'a'的内容分成'b'和'c'。我想在不创建任何其他文件的情况下执行此操作。
稍后,我想通过创建一个指向'FILE*'的指针数组来动态地执行此操作。所以分隔线的数量是任意的。
对于这种情况,假设分隔线是任何具有字符串“delim”的行。
这个概念可以是:
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()
文件
2)fseek()
到流的末尾并用于ftell()
获取文件位置,我们称之为N
3)rewind()
将流和fread()
N
字节从中提取到缓冲区中。
4)fclose()
文件
5)虽然可以,strstr()
但缓冲区中的分隔符和fwrite()
中间的数据块到 OUTFILE