c++追加写入txt文件
时间: 2023-07-23 22:39:01 浏览: 78
你可以使用标准库中的ofstream类来实现向txt文件中追加写入内容。具体操作如下:
1. 打开文件并将文件指针定位到文件末尾;
2. 使用ofstream类的<<操作符将要写入的内容插入到文件中;
3. 关闭文件。
下面是一个简单的例子:
```c++
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
// 打开文件并将文件指针定位到文件末尾
ofstream outfile("test.txt", ios::out | ios::app);
if (!outfile)
{
cout << "打开文件失败!" << endl;
return 1;
}
// 写入内容
outfile << "Hello, World!" << endl;
// 关闭文件
outfile.close();
return 0;
}
```
在上面的例子中,ofstream类的构造函数中使用了ios::out | ios::app参数,其中ios::out表示以写入模式打开文件,ios::app表示在文件末尾追加写入内容。
相关问题
c++文件的读取和写入txt
在 C 语言中,可以使用 `fopen()` 函数打开文件,使用 `fread()` 函数读取文件,使用 `fwrite()` 函数写入文件,使用 `fclose()` 函数关闭文件。
下面是一个简单的示例,演示如何读取和写入一个文本文件:
```c
#include <stdio.h>
int main() {
FILE *fp;
char buffer[255];
// 打开文件,以只读方式打开
fp = fopen("example.txt", "r");
// 如果文件打开失败,返回 NULL
if (fp == NULL) {
printf("无法打开文件\n");
return 1;
}
// 读取文件内容
while (fgets(buffer, 255, fp)) {
printf("%s", buffer);
}
// 关闭文件
fclose(fp);
// 打开文件,以写入方式打开
fp = fopen("example.txt", "w");
// 如果文件打开失败,返回 NULL
if (fp == NULL) {
printf("无法打开文件\n");
return 1;
}
// 写入文件内容
fprintf(fp, "Hello, World!\n");
// 关闭文件
fclose(fp);
return 0;
}
```
在上面的示例中,我们首先使用 `fopen()` 函数以只读方式打开 `example.txt` 文件。如果文件打开失败,该函数将返回 `NULL`。接下来,我们使用 `fgets()` 函数读取文件内容。`fgets()` 函数每次读取一行,最多读取 `255` 个字符。我们使用一个循环,直到读取完整个文件。最后,我们使用 `fclose()` 函数关闭文件。
接下来,我们使用 `fopen()` 函数以写入方式打开 `example.txt` 文件。如果文件打开失败,该函数将返回 `NULL`。然后,我们使用 `fprintf()` 函数将 "Hello, World!" 写入文件。最后,我们再次使用 `fclose()` 函数关闭文件。
注意,在使用 `fopen()` 函数打开文件时,需要指定文件的访问模式。常用的访问模式包括:
- `"r"`:打开文件,以只读方式打开。如果文件不存在,返回 `NULL`。
- `"w"`:打开文件,以写入方式打开。如果文件不存在,创建一个新文件。如果文件已经存在,将覆盖原文件。
- `"a"`:打开文件,以追加方式打开。如果文件不存在,创建一个新文件。如果文件已经存在,在文件尾部添加新内容。
- `"r+"`:打开文件,以读写方式打开。如果文件不存在,返回 `NULL`。
- `"w+"`:打开文件,以读写方式打开。如果文件不存在,创建一个新文件。如果文件已经存在,将覆盖原文件。
- `"a+"`:打开文件,以读写方式打开。如果文件不存在,创建一个新文件。如果文件已经存在,在文件尾部添加新内容。
以上是常用的访问模式,还有其他访问模式,可以查看 C 语言标准库的文档。
c++输出到txt文件
在 C++ 中,可以使用文件流来将输出内容写入到文本文件中。下面是一个基本的示例:
```c++
#include <iostream>
#include <fstream>
int main() {
std::ofstream outfile("output.txt"); // 创建一个名为 "output.txt" 的文件流对象
outfile << "Hello, world!"; // 将字符串写入文件
outfile.close(); // 关闭文件流
return 0;
}
```
在上述示例中,我们使用 `ofstream` 类创建一个名为 "output.txt" 的文件流对象。然后,我们使用 `<<` 运算符将字符串 "Hello, world!" 写入到该文件中。最后,我们调用 `close()` 方法关闭文件流。
如果要写入多个内容,可以多次使用 `<<` 运算符。每次使用时,都会将内容写入到文件中。
如果要追加内容到文件末尾,而不是覆盖原有内容,可以使用 `std::ios::app` 模式打开文件流:
```c++
std::ofstream outfile("output.txt", std::ios::app);
```
这样就可以将新的内容追加到文件末尾了。