c - 关于在具有相似名称的c编程中保存文本文件

标签 c file

我想用c编程保存文件,文件名应该是这样的:

  1. 如果game1.txt不存在,应该是game1.txt。
  2. 如果有game1.txt,应该是game2.txt。
  3. 如果有game2.txt,应该是game3.txt。

等等... 那我该怎么做呢????

最佳答案

如果你想便携:

  • 使用循环和计数器
  • sprintf() 格式字符串为“game%d.txt”的文件名
  • fopen() 读取文件
    • 如果成功:关闭并继续
    • 如果失败:退出循环并打开文件写入

请注意存在竞争条件:如果打开以供读取失败,则另一个进程可能会在您打开文件以进行写入之前创建该文件。

fopen() 模式标志“x”有一个 GNU 扩展,用于独占打开。使用它可以消除竞争条件。

关于c - 关于在具有相似名称的c编程中保存文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41836553/

相关文章:

file - 如何将结构作为二进制数据写入 golang 中的文件?

java - 在一个项目中将 C++ 与 Java 集成。有可能吗?怎么做?

c - 如何在套接字连接中接收 tcp 标志

c++ - C/C++ : switch for non-integers

在 while 循环中每 40 秒调用一个函数

python - 如何检测文件中的 DOS 换行符?

C++ 将 ifstream 管道化为 stringstream

c - 无法打印以相反顺序输入到数组中的数字

java - Google Drive API 是否允许我们无需身份验证即可下载公共(public)文件?

c - 未在命令行上指定输入文件时出现段错误