Запись строки в конец файла (C++)
У меня уже сформирована программа, в которой есть строка, которую я хочу передать в конец существующего текстового файла. Все, что у меня мало, это: (C++)
void main()
{
std::string str = "I am here";
fileOUT << str;
}
Я понимаю, что к этому есть что добавить, и я приношу свои извинения, если мне кажется, что я прошу людей написать мне код, но я совершенно потерян, потому что никогда раньше не занимался этим типом программирования.
Я пробовал разные методы, с которыми я сталкивался в Интернете, но это самая близкая вещь, которая работает и знакома.
Ответы
Ответ 1
Откройте файл std::ios::app
#include <fstream>
std::ofstream out;
// std::ios::app is the open mode "append" meaning
// new data will be written to the end of the file.
out.open("myfile.txt", std::ios::app);
std::string str = "I am here.";
out << str;
Ответ 2
Чтобы добавить содержимое в конец файлов, просто откройте файл с ofstream
(который обозначает выходной поток) в режиме app
(что означает добавление).
#include <fstream>
using namespace std;
int main() {
ofstream fileOUT("filename.txt", ios::app); // open filename.txt in append mode
fileOUT << "some stuff" << endl; // append "some stuff" to the end of the file
fileOUT.close(); // close the file
return 0;
}
Ответ 3
Откройте ваш поток как добавление, новый текст, написанный на нем, будет записан в конце файла.
Ответ 4
Я надеюсь, что это не весь ваш код, потому что, если это так, там много чего не так.
Способ записи в файл выглядит примерно так:
#include <fstream>
#include <string>
// main is never void
int main()
{
std::string message = "Hello world!";
// std::ios::out gives us an output filestream
// and std::ios::app appends to the file.
std::fstream file("myfile.txt", std::ios::out | std::ios::app);
file << message << std::endl;
file.close();
return 0;
}