如何从.txt文件中读取C ++中的字符串

时间:2016-03-07 16:04:50

标签: c++

我目前有两个.txt文件,一个包含字符的文件,我希望创建一个文件流并从该文件中获取字符并将它们放入一个字符数组中。

然后我还有一个文本文件,在另一行上有6个字符串,我需要将这些添加到一个字符串数组这里是我的代码到目前为止,我有一个轻微的错误,当我试图把它的值"也就是说"我将字符串数组的字符串文件放入数组中的每个位置。

    //Gets the characters from the textfile and creates an array of characters.

char ch;
fstream fin("text1.txt", fstream::in);

while (fin >> noskipws >> ch) {
    char letters[5];
    cout << ch;


    for (int i = 0; i < 14; ++i)
    {
        ch >> letters[i];
    }


}
fin.close();


//Get the words from the file and add into an array of strings

string words;
fstream fin2("search1.txt", fstream::in);

while (getline(fin2, words)) {
    string wordsArray[6];
    cout << words;

    for (int i = 0; i < 6; ++i)
    {
        words >> wordsArray[i];
    }
}
fin2.close();

2 个答案:

答案 0 :(得分:4)

根据您的标题,您可以使用以下方式逐行阅读文本:

std::string text_line;
while (std::getline(input_stream, text_line))
{
    // ...
}

要从字符串中读取字词,您可以使用std::istringstream

std::string word;
std::istringstream text_stream(text_line);
while (text_stream >> word)
{
    // Process the word
}

答案 1 :(得分:0)

好的,所以我这里有代码,从文本文件中取一行字符并将它们放入char []

数组中
    char ch;
char chArray[14];
fstream fin1("text1.txt", fstream::in);
if (fin1.is_open())
{
    cout << "File of characters Opened successfully!!!. Reading data from file into array" << endl;
    while (!fin1.eof()) {
        for (int i = 0; i < 14; ++i) {
            fin1.get(ch);
            chArray[i] = ch;
            cout << chArray[i] << endl;
        }
    }
}

现在我需要做的是将字符数组转换为单个字符串,这样我就可以将它们与包含单词的字符串数组进行比较。

有没有办法简单地将该数组转换为字符串数组?