C ++读取文件只给出第一个单词

时间:2014-06-12 16:36:10

标签: c++ fstream

我知道我不应该在这个范围内使用namespace std(using namespace std)作为全局,但是对于这个例子,我会。

我理想的是将文本保存到.txt文件并检索它。我知道最佳选项是fstream,因此我决定使用它。

以下代码打印出" This"。为什么打印出来"这"而不是全文?

以下是代码:

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main() {
    ifstream fin;
    ofstream fout;
    string text;

    fout.open("C++_text_file_test.txt");
    fout << "This is basic text";
    fout.close();

    fin.open("C++_text_file_test.txt");
    fin >> text;
    fin.close();

    cout << text << endl;
    cin.get(); // waits for user to press enter 

    return 0;
}

我尝试过研究,但并不完全理解使用循环的过程。是否有更简单的方法或有人可以解释一下吗?

1 个答案:

答案 0 :(得分:1)

>>运算符在用于提取字符串时,仅将字符抓取到第一个空格字符。尝试使用getline获取整行。