Чтение текстового файла через C ++ DLL - PullRequest
0 голосов
/ 24 октября 2018

Это код библиотеки класса CPP.Я уверен, что я что-то здесь упускаю.Возвращаемое значение этой функции неверно.Я пытаюсь прочитать первую строку / последнюю строку / все строки текстового файла, используя эту функцию DLL ReadFromFile.

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

using namespace std;

string __stdcall ReadFromFile()
{
    string str;
    string str1;
    ifstream file("D:\CPP_ReadFile.txt");   
    if (file.is_open())
    {
        while (getline(file, str))
        {
            str1 = str;
        }
        file.close();
    }

    return str1;
}

Много Ценю вашу помощь.

1 Ответ

0 голосов
/ 24 октября 2018

Функция getline:

Извлекает символы из is и сохраняет их в str до тех пор, пока не будет найден разделительный символ (или символ новой строки, '\ n', для (2)).

Это означает, что вы читаете только одну строку из файла за раз и сохраняете эту строку в str для каждой строки.Затем каждую итерацию вы сохраняете этот результат в str1 , но если вам нужен полный файл, вы должны добавить его.Для этого вместо:

str1 = str;

Do:

str1 += str;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...