2012-07-03 7 views
0

Я использую API окон в C++, и я хочу получить содержимое определенного файла txt. Я рассматриваю функцию ReadFile, но я не знаю, что я должен использовать вместо HANDLE или, другими словами, как передать значение параметра txt в качестве параметра. Как лучше всего получить содержимое файла txt с помощью API окон.Получить содержимое txt-файла

+0

Возможный дубликат [Читать весь ASCII-файл в C++ std :: string] (http://stackoverflow.com/questions/2602013/read-whole-ascii-file-into-c-stdstring) –

+1

Чтобы быть уверенным , вы знаете, что C++ имеет стандартный API для файлов и большую часть времени вам не нужно копать в WinAPI? – Kos

+0

@ Kos, почему он должен, если WinAPI является лучшим:) –

ответ

2

Во-первых, вы должны вызывать CreateFileСоздает или открывает файл или устройство ввода-вывода»). Он возвращает дескриптор, который вы затем переходите на ReadFile.

Когда вы закончите, не забудьте позвонить по телефону CloseHandle.

2

Использование CreateFile(), снабжая GENERIC_READ для dwDesiredAccess аргумента и OPEN_EXISTING для dwCreationDisposition аргумента, для получения HANDLE перейти к ReadFile().

Или, проще, просто использовать std::ifstream:

#include <fstream> 
#include <vector> 
#include <string> 

... 

std::vector<std::sting> lines; 
std::ifstream in("input.txt"); 
if (in.is_open()) 
{ 
    std::string line; 
    while (std::getline(in, line)) lines.push_back(line); 
} 
Смежные вопросы