本文主要总结,用C语言封装一个函数void add_string_in_txt(char *addString),该函数的功能是在txt文本后面,自动添加内容,具体的步骤如下所述。
1.1新建一个.h头文件和.c源文件,然后分别在.h头文件和.c源文件内,添加如下代码:
add_string_in_txt.h头文件
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h> // 删除txt文件
void add_string_in_txt(char *addString);
add_string_in_txt.c源文件
#include "add_string_in_txt.h"
#define MAX_LINE 1024
void add_string_in_txt(char *addString)
{
//新建一个txt文件
FILE *fp;
fp=fopen("D:\\QtProject\\uuid12\\test.txt","w");
fclose(fp);
//将txt文本内容全部读取并存储在变量txt_content里面
char buf[MAX_LINE]; /*缓冲区*/
char txt_content[MAX_LINE]; /*缓冲区*/
FILE *fpRead; /*文件指针*/
int len; /*行字符个数*/
fpRead = fopen("D:\\QtProject\\uuid12\\test.txt","r");
while(fgets(buf,MAX_LINE,fpRead) != NULL)
{
// printf("%s\n",buf);
strcat(txt_content,buf);
}
// strcat(txt_content,"\n");
//在变量txt_content里面追加字符串addString
// strcat(txt_content,"\n");
// fputc('\n',fpRead);
strcat(txt_content,addString);
printf("%s",txt_content);
fclose(fpRead);
// 删除txt文件
unlink("D:\\QtProject\\uuid12\\test.txt");
//将变量txt_content写入txt文本
FILE *fpWrite;
fpWrite=fopen("D:\\QtProject\\uuid12\\test.txt","w");//wb
// fgets(buf,MAX_LINE,fpWrite);
fputs(txt_content,fpWrite);
fprintf(fpWrite,"\n");
fputc('\n',fpWrite);
fclose(fpWrite);
}
1.2新建一个主函数.c,然后在其中写入如下代码,调用该函数:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "add_string_in_txt.h"
int main()
{
add_string_in_txt("I am add string123......");
add_string_in_txt("I am add string......");
}
1.3在cygwin下编译,输入如下指令:
gcc write_txt.c add_string_in_txt.c -o write_txt.exe
./write_txt
1.4在test文本,查看输入内容如下图所示:
由上面结果可知,每次调用该函数,都能够在txt文本末尾追加自己写入的内容。
参考内容:
https://blog.csdn.net/naibozhuan3744/article/details/80595690
https://blog.csdn.net/naibozhuan3744/article/details/80610476