2012-07-03 5 views
0

C++에서 windows API를 사용하고 있으며 특정 txt 파일의 내용을 가져오고 싶습니다. 내가 ReadFile 함수를 사용하여 찬찬히 생각하지만, 나는 HANDLE 대신에 무엇을 사용해야하는지, 다른 말로하면 어떻게 매개 변수로 txt 파일의 이름을 전달해야하는지 알지 못한다. 일반적으로 Windows API를 사용하여 txt 파일의 내용을 가져 오는 가장 좋은 방법은 무엇입니까?txt 파일의 내용 얻기

+0

가능한 복제본 [C++ std :: string으로 전체 ASCII 파일 읽기] (http://stackoverflow.com/questions/2602013/read-whole-ascii-file-into-c-stdstring) –

+1

C++에는 파일 용 표준 API가 있으며 WinAPI를 파고들 필요가없는 대부분의 시간을 알고 계실 것입니다. – Kos

+0

@Kos 왜 WinAPI가 최상인지해야합니까?) –

답변

2

먼저 CreateFile ("파일 또는 I/O 장치를 만들거나 엽니 다.")를 호출해야합니다. 이 핸들은 나중에 ReadFile에 전달한 핸들을 반환합니다.

완료했으면 CloseHandle으로 전화하는 것을 잊지 마십시오. dwCreationDisposition 인수에 대해 dwDesiredAccess 인수 GENERIC_READOPEN_EXISTING 공급

2

사용 CreateFile()는하는 HANDLEReadFile() 전달할 얻었다. 간단

또는, 단지 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); 
}