我手头有一个字符串(大约24个字符),每次需要从文件中读取出来,之后经过修改,再写入该文件进行保存。读写操作一秒钟一次。程序首次启动时还要检查这个文件是否存在,不存在就创建一个再把初始字符串存进去。帮我用C++语言实现。
时间: 2023-02-07 19:43:44 浏览: 84
首先,可以使用 `fopen` 函数打开文件。
如果文件不存在,那么就创建文件并写入初始字符串。如果文件已存在,那么就读取出文件中的字符串。
之后,可以使用 `fgets` 函数从文件中读取字符串,并使用 `fputs` 函数将修改后的字符串写回文件。
最后,使用 `fclose` 函数关闭文件。
以下是一个例子:
```c
#include <stdio.h>
#include <string.h>
#define STRING_LEN 24
#define FILE_NAME "string_file.txt"
int main() {
char string[STRING_LEN + 1];
FILE *fp;
int i = 0;
// 打开文件
fp = fopen(FILE_NAME, "r+");
// 如果文件不存在,则创建文件并写入初始字符串
if (fp == NULL) {
fp = fopen(FILE_NAME, "w");
strcpy(string, "Initial string");
fputs(string, fp);
} else {
// 否则,读取文件中的字符串
fgets(string, STRING_LEN, fp);
}
// 每秒修改一次字符串,并写入文件
while (1) {
sprintf(string, "Modified string %d", i++);
fputs(string, fp);
sleep(1);
}
// 关闭文件
fclose(fp);
return 0;
}
```
注意:上述代码中的 `sleep` 函数需要使用 `unistd.h` 头文件。