Programmcode, was bedeutet er?



  • Hallo, schönen Guten Abend.

    Ich habe lage kein C mehr programmiert und auch sonst keine Sprache nun habe ich wieder angefangen und wollte meinem Code verbesserung udn entbuggen aber ich verstehe ihn nicht mehr... ich habe nämlich früher vergessen Kommentar einzufügen.

    Könnt ihr mir sagen was die einzelnen Schritte genau heißen?

    Es geht um ein Programm was eine Liste mit IP-Adressen einlist und nacheinander anpingt, die IP-Adresse übergibt er aber an ein anderes Script und bekommt nachher wieder ein Wert zugewiesen.

    SetConsoleTextAttribute(han,0x0A);
        std::cout <<"Die Datei 'liste.txt' konnte erfolgreich geladen werden!\n";
        SetConsoleTextAttribute(han,0x0F);
    	std::cout << "\n";
    	std::cout << "\n";
    	std::cout << "Die IPs aus der Liste werden nun der Reihe\n"		// erste Instruktionen
    			  << "nach auf ihren Online-Status abgefragt\n";
    	std::cout << "Der Ablauf wiederholt sich jede Minute.\n";
    	std::cout << "\n";
    	Sleep(3000);
        while(1)
        {
            if(feof(pFile))
            {
                fseek(pFile,0,SEEK_SET);
                for(i=0;i<60;i++)
                {
                    Sleep(1000);
                    if(kbhit())
                    {
                        if(_getch()==27)
                        {
                            fclose(pFile);
                            WSACleanup();
                            return 0;
                        }
                    }
                }
              //  system("cls");
    			cout << "\n";
    			cout << "\n";
    			cout << "\n";
            }
            ip[0]='\0';									
            fgets(ip,64,pFile);
            ip[63]='\0';
            if(ip[strlen(ip)-1]=='\n')
                ip[strlen(ip)-1]='\0';
            if(ip[0]=='\0'){}								
            else if(!IsValidIP(ip,1,0,0))
            {
                printf("Nicht g\x81 \bltig: ",129U);
                puts(ip);									
            }
            else
            {
                int x=Ping(ip);
                printf(ip);printf(": ");
    

    und zweite Frage:
    Wie heißt nochmal die eine Seite oder das Programm wo man Sourcecode neu formatieren lassen kann? Irgendwie ist einer von mir durcheinander geraten und ein Haufen...



  • SetConsoleTextAttribute(han,0x0A); // Verändert Attribute des Konsolen-Screenbuffers
        std::cout <<"Die Datei 'liste.txt' konnte erfolgreich geladen werden!\n";
        SetConsoleTextAttribute(han,0x0F); // Verändert Attribute des Konsolen-Screenbuffers
        std::cout << "\n";
        std::cout << "\n";
        std::cout << "Die IPs aus der Liste werden nun der Reihe\n"        // erste Instruktionen
                  << "nach auf ihren Online-Status abgefragt\n";
        std::cout << "Der Ablauf wiederholt sich jede Minute.\n";
        std::cout << "\n";
        Sleep(3000); // 3 Sekunden warten
    
        while(1) // Endlosschleife
        {
            if(feof(pFile)) // Wenn im Ende des Files angekommen...
            {
                fseek(pFile,0,SEEK_SET); // ..springe zum Anfang der Datei
    
                for(i=0;i<60;i++) // Inkrementiert von 0 auf 60
                {
                    Sleep(1000); // Warte eine Sekunde
    
                    if(kbhit()) // Taste gedrückt?
                    {
                        if(_getch()==27) // Ist das eingegebene Zeichen == 27?
                        {
                            fclose(pFile); // Schliesse Datei
                            WSACleanup(); // Marke: Eigenbau?
    
                            return 0; // Gib 0 zurück
                        }
                    }
                }
              //  system("cls");
                cout << "\n";
                cout << "\n";
                cout << "\n";
            }
            ip[0]='\0'; // '\0' == Ende der Zeichenkette  
    
            fgets(ip,64,pFile); // Lies 64 Zeichen vom Stream in ip
    
            ip[63]='\0'; // Ende der Zeichenkette...
    
            if(ip[strlen(ip)-1]=='\n') // Selbsterklärend, strlen gibt die Länge der Zeichenkette aus
                ip[strlen(ip)-1]='\0';
            if(ip[0]=='\0'){}                                
            else if(!IsValidIP(ip,1,0,0))
            {
                printf("Nicht g\x81 \bltig: ",129U);
                puts(ip); // Hängt '\0' an                                 
            }
            else
            {
                int x=Ping(ip);
                printf(ip);printf(": ");
    

    Kann man alles durch Google herausbekommen...



  • OK, Danke ist nun etwas klarer geworden! 🙂

    Richtig, oder von gewissen netten Usern in diesem Forum 😃



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C in das Forum C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Übrigens:
    Zeile 24, die 27 ist der dezimale ASCII-Wert von der Escape-Taste. Achja und WSACleanUp() deregistriert jeden Gebrauch von Sockets. Nun sind wir ja wieder im C++-Forum, da würde ich dir zu Dingen wie std::string und std::ifstream raten...


Anmelden zum Antworten