Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何将.txt文件保存在C++;?_C++_Visual C++ - Fatal编程技术网

C++ 如何将.txt文件保存在C++;?

C++ 如何将.txt文件保存在C++;?,c++,visual-c++,C++,Visual C++,我创建了一个在.txt文件中编写东西的代码,并从中读取。但是如果我关闭程序并重新开始写,它会删除旧文本并用新文本覆盖它 有没有办法不覆盖现有数据 #include "stdafx.h" #include <iostream> #include <fstream> #include <string> using namespace std; void check() { string text; ifstream file; fil

我创建了一个在.txt文件中编写东西的代码,并从中读取。但是如果我关闭程序并重新开始写,它会删除旧文本并用新文本覆盖它

有没有办法不覆盖现有数据

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

void check() {

    string text;
    ifstream file;
    file.open("test.txt");
    getline(file, text);

    if (text == "") {
        cout << "There's no data in file" << endl;
    } else {
        cout << "File contains:" << endl;
        cout << text << endl;
    }
}

int main() {

    check();

    string text;
    ofstream file;
    file.open("test.txt");
    cout << "Type some text" << endl;
    getline(cin, text);
    file << text;

    return 0;
}
#包括“stdafx.h”
#包括
#包括
#包括
使用名称空间std;
无效检查(){
字符串文本;
ifstream文件;
打开(“test.txt”);
getline(文件、文本);
如果(文本==“”){

cout请为下次插入代码。如果您以写入模式打开文件,则每次写入文件时,文件内容都会发生更改。您需要使用追加模式。

请为下次插入代码。如果您以写入模式打开文件,则每次写入文件时,文件内容都会发生更改。您需要要使用附加模式。

您需要像下面的示例一样以“附加”模式打开文件

#include <fstream>

int main() {  
  std::ofstream outfile;

  outfile.open("yourfile.txt", std::ios_base::app);//std::ios_base::app
  outfile << "your data"; 
  return 0;
}
#包括
int main(){
std::出流管;
outfile.open(“yourfile.txt”,std::ios\u base::app);//std::ios\u base::app

outfile您需要以“追加”模式打开文件,如以下示例所示

#include <fstream>

int main() {  
  std::ofstream outfile;

  outfile.open("yourfile.txt", std::ios_base::app);//std::ios_base::app
  outfile << "your data"; 
  return 0;
}
#包括
int main(){
std::出流管;
outfile.open(“yourfile.txt”,std::ios\u base::app);//std::ios\u base::app

Outfile

请记住,在C++中,有几种方法可以打开、保存和读取文本数据到文件中。始终创建一个新文件。您可以做的一件事是运行程序,然后关闭程序,并使用文本编辑器打开文件,以验证您写入文件的文本是否确实存在。还可以查看Evyatar提供的代码。该示例使用ofstream,它允许读、写和附加选项“应用程序”参数告诉程序保存文件中已经存在的内容并追加下一次运行时添加的任何新数据。当测试文件在追加时,请注意,不要以一个不希望拥有的大文件结束。

< P>记住,在C++中,有几种方法可以打开、保存和读取文本数据到F和F中。听起来像是用一个函数(及其选项)打开的始终创建一个新文件。您可以做的一件事是运行程序,然后关闭程序,并使用文本编辑器打开文件,以验证您写入文件的文本是否确实存在。还可以查看Evyatar提供的代码。该示例使用ofstream,它允许读、写和附加选项“应用程序”参数告诉程序保留文件中已有的内容,并在下一次运行时添加任何新数据。在测试要添加的文件时,请小心不要得到一个不希望有这么大的文件。

在您在修订的问题中发布的代码中,请确保在检查中关闭该文件在程序结束时关闭。如果不这样做,可能会挂断。作为预防措施,我通常在打开文件之前先关闭文件,以确保文件关闭时没有问题。这种做法来自于我在BASIC编程时的做法,在BASIC编程时,它是一个必不可少的工具。如果程序崩溃,在得到它之前,你无法再次打开它关闭。当然,也要在处理完文件后,在程序结束前关闭该文件。然后,当您在main中打开它时,请使用append选项打开它。

在您在修订的问题中发布的代码中,请确保在检查功能和程序结束时关闭该文件。如果你不需要。作为预防措施,我通常在打开文件之前先关闭它,只是为了确保它关闭时不会出现问题。这种做法来自于我在BASIC编程时的做法,在BASIC编程时,它是必不可少的。如果程序崩溃,在关闭之前,你无法再次打开它。当然,在使用完文件后关闭文件,然后再关闭它程序结束。然后,当您在main中打开它时,请使用append选项打开。

Hi,请显示一些您尝试过的代码,然后我们可以尝试帮助您您您所说的“问题”是什么?听起来好像它正在按预期工作。Hi,请显示一些您尝试过的代码,然后我们可以尝试帮助您这个“问题”是什么你在说什么?听起来像是在按预期工作。