Text in Array



  • Hallo Forum,

    Ich steke wieder mitten in einem riesen fragezeichen (?) !!!

    Ich lade eine textdatei:

    HANDLE hFile;
    hFile = CreateFile(pszFileName, GENERIC_READ,
                           FILE_SHARE_READ, NULL,
                           OPEN_EXISTING, 0, NULL);
    

    nun frage ich mich wie ich den text in der txt datei in einem array speichern kann??



  • nimm doch lieber fstream.h

    string str;

    ifstream in;

    in.open( ... );

    while( !in.eof( ) )
    in >> str;

    fertig.

    Gruß Tobi.



  • hast dir schonmal die doku dazu angesehen 😕
    erst CreateFile gültiges Handle holen, mit ReadFile den Text und CloseHandle das Filehandle schließen, Bsp:

    PUCHAR strresult = new UCHAR[50];
    HANDLE hFile;
    
    hFile = CreateFile ("C:\\blabla.txt", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    ReadFile (hFile, strresult, 16, &dwRead, NULL);
    CloseHandle (hFile);
    

    EDIT: das ist hier das WinAPI-Forum, T0bi



  • Löl wie simpel 😃

    und auf die einzelnen buchstaben bzw stellen kann ich nun per

    strresult[3];

    zugreifen.

    das wäre dann also die dritte stelle oder?



  • nö, dass waer die 4te stelle 😉



  • Achja 0 ist ja auch eine zahl^^

    Andere frage, wenn ich in der txt datei ein

    a

    stehen habe, und danach tausende leerzeichen, und danach ein b, ist dann zwischen a und b ein leerzeichen oder tausende? und wie siehts bei absätzen aus?



  • wird alles erkannt, leerzeichen als leerzeichen und absatz als absatz, wenn du aber das char-Element ausgibts, in dem der absatz gespeichert ist, gibt er glaube ich nur ein komisches zeichen raus...das zeichen ist aber weg wenn du das komplett ausgibts oder so xD



  • Ja da ist jetzt auch mein problehm, ich will auf die einzelnen zeichen zugreifen können, wie mache ich das?



  • Problehm gelöst!



  • und wie haste das gemacht?



  • ^^

    Das würde ich euch gerne zeigen, bin aber gerade inner firma ohne mein notebook ...

    Kenne Code net auswendig ...



  • Ok, ich versuche mich mal wieder dran zu erinnern xD

    also, die abfrage, ob das zeichen = das zeichen ist, habe ich wie folgt gemacht:

    if(strresult[1] == b)
    {
    //mach was
    }
    

    natürlich muss das nach dem laden erfolgen ...
    Wenn ich jetzt in der txt-datei "abc" stehen habe, trift die bedingung zu, da 1 für die zweite stelle steht, bzw zweite zeichen.

    Wenn ich den buchstaben nun zeichen wollte, musste ich darauf achten das ich es nicht als int also %i ausgebe, sondern als char (%c). Eine vorherige convertierung von PUCHAR zu char währe auch nicht schädlich ... (habe es zwar noch nicht ausgetestet, aber ich vermute das das komische zeichen bei absätzen dann auch verschwunden ist ...

    Nun mal für alle leute die noch nicht mit ressourcen oder externen dateien gearbeitet haben.

    wenn du z.b sagt ich möchte die tcxt datei in dem ordner wo meine exe ist öffnen, würde der link so aussehen:

    \textdatei.txt

    die textdatei wird auch geöffnet, aber nur wenn du die exe per hand startest, wenn du debugst und die exe automatisch gestartet wird, muss die txt datei in:

    c:\\was\auch\immer\projektordner\projektordner\textdatei.txt

    vorliegen, da (wie ich vermute) eine exe in diesem ordner erstellt wird, gestartet und anschließend verschoben in den debuggorder wird ...

    Also, an alle leute die wie ich immer alles vergessen:

    MERKEN*
    xD

    Code schicke ich nachher!


Anmelden zum Antworten