Lesen einer Text-Datei w/ WIN32

Ich versuche zu analysieren, eine text-Datei mit einer win32-Anwendung in c++. Gibt es eine einfache Methode zum Lesen einer text-Datei Zeile für Zeile? Meine text-Datei besteht aus strings, die ich speichern möchten, in ein char-array(const char* cArray[67]). Hier ist was ich habe, so weit. Ich bin mit CreateFile und ReadFile. Ich bekomme eine Zugriffsverletzung(0x000003e6) von readfile:

CDECK::CDECK():filename(".\\Deck/list.txt")
{
    LPVOID data = NULL;
    hFile = CreateFileA(filename, GENERIC_READ,FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    if(hFile == INVALID_HANDLE_VALUE)
        MessageBox(NULL, L"Failed to CreateFile - 'hFile'", L"CDECK::CDECK()", MB_OK);

    DWORD fileSize = GetFileSize(hFile, &fileSize);
    DWORD read = -1;
    if(!ReadFile(hFile, data, fileSize, &read, NULL))
    {
        DWORD err = GetLastError();
        MessageBox(NULL, L"Failed to ReadFile - 'hFile'", L"CDECK::CDECK()", MB_OK);
    }
    return;
}
  • Schade, dass du nicht so etwas wie Python für diese.....
  • Haben Sie verwenden, um winapi-Aufrufe direkt? Können Sie std::ifstream zum Lesen der Daten und speichern die Ergebnisse in einer std::vector<std::string> ?
  • Es ist unglaublich, die Verrenkungen, die die Win32-API geht in einfache Aufgaben schwer. Versuchen Sie, dass in plain old C++; einfach. Python, Ruby, Perl... einfach, einfach, einfach. Sogar die gute alte C ist auch nicht so schlimm, wenn man weiß, was man tut. Aber layer in der Windows-API, und du bist plötzlich schoss durch ein Wurmloch der Borg Bauch.
  • win32-Schnittstelle ist so ziemlich identisch zu C öffnen/Lesen
InformationsquelleAutor P. Avery | 2012-05-18
Schreibe einen Kommentar