wieso klappt des nich ???



  • also ich hab hier ein komisches problem und find nich raus wieso des nich alles kopiert

    char getdata[256];
     char data[256];
    
     i=0;
     while(getdata[i]!=EOF)
         { 
             getdata[i]=data[i];
             i++;
         }
    

    bitte helft mir



  • wie wäre es mit so einer stumpfen idee wie
    [cpp]
    char getdata[256];
    char data[256];

    int i=0;
    while(getdata[i]!='\0')
    {
    getdata[i]=data[i];
    i++;
    }



  • wieso nicht einfach
    while (*getdata++ = *data++);



  • nee geht alles ních



  • hallo,

    vllt wäre memcpy oder strcpy bzw strncpy was ?



  • Hä??? EOF?? EndOfFile!!??

    Ansonsten frage ich mich was da nicht funktionieren soll?



  • Vielleicht sagt uns superman zuerst, was dieser Code überhaupt tun soll, und wie sich das "nich" Funktionieren äußert. Wir anderen haben ja keinen Röntgenblick.



  • MFK schrieb:

    Vielleicht sagt uns superman zuerst, was dieser Code überhaupt tun soll, und wie sich das "nich" Funktionieren äußert. Wir anderen haben ja keinen Röntgenblick.

    ...den mußt Du aber haben, wenn Du auf "supermans" Fragen antworten willst bzw. wenn Du seine Fragen überhaupt im Ansatz verstehen willst!



  • @superman:
    Ich habe nur den Code kopiert und ausprobiert. Im programm bekam ich einen Schreibfehler, wodurch ich abbrechen musste (klar). Habe einfach mal die Variablen initialisiert mit einem kleinen Text und es funktionierte einwandfrei! Nur kann ich mir nicht vorstellen kann das jemand das initialisieren oder zuweisen vergisst bevor er kopiert!

    Wenn das der einzige Code ist den du hast und die Fehler finden sollst:
    1. Variablen vor dem kopieren wenigstens '\0' zuweisen damit das Ende erkannt wird. Oder lass ne for-Schleife 256x laufen bzw. solange bis die größe der ersten Variablen es zulässt.
    2. Variablen einen Typ geben, also:

    int i=0;
    

    Wenn es daran nicht liegt solltest du mehr Code schicken oder sagen was genau(!) bei dir nicht funktioniert.

    SeboStone schrieb:

    Hä??? EOF?? EndOfFile!!??

    Ansonsten frage ich mich was da nicht funktionieren soll?

    EOF läuft bis zum Dateiende oder bis 0x1A im Datenstrom erkannt wurde.

    Code-Hacker



  • @Code- Hacker: Ja genau! Deshalb ja meine Frage was das EOF in dieser Funktion soll? Es fehlt anscheinend einiges.



  • Es klappt mit EOF und ist meine ich auch erlaubt. Du kannst ja auch cin.eof() für den Test auf 0x1A (oder Dateiende) benutzen nach einer Eingabe.
    Der eigentliche Fehler ist ja das die Variablen nicht initialisiert sind bzw. kein '\0' enthalten und mit ihnen gearbeitet wird, man könnte nämlich genau so gut

    while(getdata[i])
    

    prüfen.

    Code-Hacker


Anmelden zum Antworten