将数据保存到txt文件中? C++

Posted

技术标签:

【中文标题】将数据保存到txt文件中? C++【英文标题】:save data into the txt file ? C++ 【发布时间】:2016-12-24 09:43:09 【问题描述】:

我正在创建一个程序,用户在其中输入 mcqs 和选项,然后将数据保存到 txt 文件中。我该怎么做。我尝试了,但它不起作用。

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()

    ofstream outputFile;
    std::string fname;
    cout<<"Enter file name";
    std::getline (std::cin,fname);
    outputFile.open(fname+".txt");
    std::string name;
    std::string mcqs;
    int x;
    cout<<"How many questions want \n";
    cin>>x;

    for(int i=1;i<=x;i=i+1)
        cout<"Enter question "+i;
        std::getline (std::cin,name);
        outputFile << name << endl;
        cout<<"Option A";
        std::getline (std::cin,mcqs);
        outputFile << mcqs << endl;
        cout<<"Option B";
        std::getline (std::cin,mcqs);
        outputFile << mcqs << endl;
        cout<<"Option C";
        std::getline (std::cin,mcqs);
        outputFile << mcqs << endl;
        cout<<"Option D";
        std::getline (std::cin,mcqs);
        outputFile << mcqs << endl;
    

    outputFile.close();
    cout << "Done!\n";
    getchar();
    return 0;

我想保存mcqstxt 文件中的选项。谢谢

【问题讨论】:

调试器是解决此类问题的正确工具。 询问 Stack Overflow 之前,您应该逐行逐行检查您的代码。如需更多帮助,请阅读How to debug small programs (by Eric Lippert)。至少,您应该 [编辑] 您的问题,以包含一个重现您的问题的 Minimal, Complete, and Verifiable 示例,以及您在调试器中所做的观察。 您的代码格式也应该有严重的过度工作。 【参考方案1】:

您的问题是使用 cin 获取问题编号。您可以使用 get_line 和 stringstream 来读取数字。

#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std;
int main()

    ofstream outputFile;
    std::string fname;
    std::string str;
    stringstream ss;
    int x;

    cout<<"Enter file name:";
    std::getline (std::cin,fname);
    outputFile.open(fname+".txt");

    cout<<"How many questions want \n";
    std::getline (std::cin,str);
    ss << str;
    ss >> x;
    if (x == 0)
        cout << "Invalid question number...!" << endl;

    for(int i=1;i<=x;i=i+1)
            cout<<"Enter question " << i << ":";
            std::getline (std::cin,str);
            outputFile << str << endl;

            cout<<"Option A:";
            std::getline (std::cin,str);
            outputFile << str << endl;

            cout<<"Option B:";
            std::getline (std::cin,str);
            outputFile << str << endl;

            cout<<"Option C:";
            std::getline (std::cin,str);
            outputFile << str << endl;

            cout<<"Option D:";
            std::getline (std::cin,str);
            outputFile << str << endl;
    

    outputFile.close();
    cout << "Done!\n";
    getchar();
    return 0;

【讨论】:

【参考方案2】:

确保包含在顶部,并且 ofstream 是命名空间 std 的成员。

【讨论】:

以上是关于将数据保存到txt文件中? C++的主要内容,如果未能解决你的问题,请参考以下文章

在 C#.Net 中将 .xls 文件保存到 .txt 文件中

从文件中读取元组列表/将数据保存到文件

将 ObservableCollection 保存到文件 (.txt)

关于怎么将数据保存到txt文件中的问题

将每个 excel 列数据保存到单独的文本文件中

c#如何始终将数据保存在第一行区域的txt文件中?