平时自测的时候免不了写文件,这里备份一下
#include <fstream>
int main()
{
FILE *file;
errno_t err = fopen_s(&file, "D:\\log.txt", "a");
if(err == 0)
{
fprintf_s(file, "%s\n", "AAAAAAA");
fclose(file);
}
return 0;
}
fopen_s:打开文件成功返回0,失败返回非0。第三个参数表示文件访问方式,可取如下值
“r” = “rt”:打开一个文本文件,文件必须存在,只允许读
“r+” = “rt+”:打开一个文本文件,文件必须存在,允许读写
“rb”:打开一个二进制文件,文件必须存在,只允许读
“rb+”:打开一个二进制文件,文件必须存在,允许读写
“w” = “wt”:新建一个文本文件,已存在的文件将内容清空,只允许写
“w+” = “wt+”:新建一个文本文件,已存在的文件将内容清空,允许读写
“wb”:新建一个二进制文件,已存在的文件将内容清空,只允许写
“wb+”:新建一个二进制文件,已存在的文件将内容清空,允许读写
“a” = “at”:打开或新建一个文本文件,只允许在文件末尾追写
“ab”:打开或新建一个二进制文件,只允许在文件末尾追写
“ab+”:打开或新建一个二进制文件,可以读,但只允许在文件末尾追写
#include <fstream>
#include <iostream>
#include <string>
int main ()
{
std::string filePath = "D:/test.log";
std::ios_base::openmode mode = std::ios::out | std::ios::app;
std::ofstream out(filePath, mode);
if (out.is_open())
{
out << "CSDN: Cao Shang Pa" << std::endl;
out.close();
}
}
模式标志 | 描述 |
---|---|
ios::app | 追加模式。所有写入都追加到文件末尾。 |
ios::ate | 文件打开后定位到文件末尾。 |
ios::in | 打开文件用于读取。 |
ios::out | 打开文件用于写入。 |
ios::trunc | 如果该文件已经存在,其内容将在打开文件之前被截断,即把文件长度设为 0。 |