如何将字符串添加到现有的文本文件而不覆盖它
C++ How do i add a string to an existing text file without overwriting it?
我编写了一个程序,它可以加载一个文本文件,可以决定每个单词的长度,并可以根据单词的长度编写文本文件。但是当我运行程序时,新的文本文件总是只用一个单词填充(每个新单词都有一个已经存在的长度相同的文本文件,只是覆盖了文本文件)
开始文本文件看起来像这样():
https://i.stack.imgur.com/WBaRf.png我新创建的文本文件(以它们的长度命名,例如:7.txt)在我运行程序后:
https://i.stack.imgur.com/6QKgE.png 我代码:#include <iostream>
#include <fstream>
#include <sstream>
using namespace std;
int main(int argc, char *argv[])
{
char filename[128];
ifstream file;
char line[100];
cout << "Input filename: " << flush;
cin.getline(filename, 127);
file.open(filename, ios::in);
if (file.good())
{
file.seekg(0L, ios::beg);
int number = 0;
while (!file.eof())
{
file.getline(line, 100);
stringstream stream;
stream << line;
number++;
cout <<"Number: "<< number << " length: " << stream.str().length() << " " << line << endl;
std::stringstream sstm;
int laenge = stream.str().length();
string txt = ".txt";
sstm << laenge << txt;
string result = sstm.str();
std::ofstream outFile(result);
outFile << line << endl;
outFile.close();
}
}
else
{
cout << "File not found" << endl;
}
while (true)
{
};
return 0;
}
我的目标是我已经将整个单词分类到文件中,唯一的问题是它们会覆盖自己…我怎么才能去掉呢?
如果您不想覆盖文件的内容,您可以打开文件并指定您想要附加到文件:
std::ofstream outFile(result, ios::app);
// ^^^^^^^^
相关文章:
- 文本文件中的单词链表
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 如何将内容数组写入文本文件?
- 无法通过空白将文本文件行分隔为矢量
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- C++将文本文件中的数据读取到结构数组中
- 在指针的帮助下,文本文件中单词的频率
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 将值从二维数组输出到文本文件
- 如何使用 c++ 实现并发文件/文本编辑?
- 我需要转换一些代码,以便它适用于输入和输出文件文本
- 通过套接字发送二进制文件.文本文件有效,其他文件无效
- 将大型数据文件拆分为多个小文件(文本格式)
- 如何读取输入文件(文本文件)并将输入验证为有效整数
- 从文本文件/文本流中读取Q字符串错误
- 从文本文件(文本解析器)C++中读取行和列的逻辑
- 如何将*.css文件(文本文件)的内容与附加信息存储在新文件中?
- 关于内存映射文件和使用大文件文本编辑器
- 如何在读取文件文本时跳过"n"
- 使用libzip从.zip获取文件(文本除外)