Integer Werte in ASCII und Back



  • Also ich hab en paar Integer Werte und möchte sie als ASCII Werte in ne Datei schreiben, und danach auslesen und in Integer Werte zurück verwandeln. Ihc hab ma einen gefragt und der meinte ich solls in nen String schreiben und da gibts seines erachtens ne funktion namens stringtoascii . Des sind zur Zeit aber rund 50 Variablen und des wär ziemlich umständlich. Geht des net leichter?

    ps.: Hab die Funktion och net getested wär zu aufwendig.



  • Craw schrieb:

    Also ich hab en paar Integer Werte und möchte sie als ASCII Werte in ne Datei schreiben, und danach auslesen und in Integer Werte zurück verwandeln.

    fprintf, fscanf

    Ihc hab ma einen gefragt und der meinte ich solls in nen String schreiben und da gibts seines erachtens ne funktion namens stringtoascii .

    Bis darauf, dass eine Funktion stringtoascii nicht besonders sinnvoll wäre, stimmt das sogar. Jedenfalls zur Hälfte: Es gibt atoi und strtol, die beide Zahlen aus Strings lesen können, aber nichts in Gegenrichtung.



  • das man mit fprintf und fscanf schreiben kann is klar
    mir geht nur ums umwandeln in ascii und umgekehrt^^



  • Intergerwerte/Doublewerte... lassen sich auch mit sprintf in Strings(ASCII-Zeichenketten) wandeln:

    sprintf(string,"%d",1234);
    printf("%s\n", string);
    


  • ui danke 🙂
    geht des auch irgendwie zurück?
    EDIT:Also ASCII in Normale Zahlen. Sscanf???



  • Craw schrieb:

    das man mit fprintf und fscanf schreiben kann is klar
    mir geht nur ums umwandeln in ascii und umgekehrt^^

    So ganz klar scheint dir das nicht zu sein. fprintf schreibt ja in ASCII-Form in die Datei, das ist das, was du wolltest. Das reine Umwandeln in ASCII ist nach deiner eigenen Aussage zu umständlich:

    stringtoascii . Des sind zur Zeit aber rund 50 Variablen und des wär ziemlich umständlich.



  • ähm lol?
    wenn fprintf in ASCII form reinschreibt wieso sind dann die zahlen die selben wie wnen ich sie normal benutzt? soviel ich wusste ist 0 12 oder so aber 0 is 0 wnen ichs mti fprintf speicher



  • Craw schrieb:

    ähm lol?
    wenn fprintf in ASCII form reinschreibt wieso sind dann die zahlen die selben wie wnen ich sie normal benutzt? soviel ich wusste ist 0 12 oder so aber 0 is 0 wnen ichs mti fprintf speicher

    Vielleicht weil dein Editor mit dem du die Datei betrachtest alleine die Umwandlung des ASCII-Codes in ein für normale Menschen brauchbares Format vornimmt? Kannst dir die Datei ja mal mit einem Hexeditor anschauen. Da wirst du die ASCII-Codes der einzelnen Zeichen dann schon sehen.



  • hm dann hab ich en prob, dann kann es ja imemr noch jeder editieren ... dann sry 😉
    ich muss es irgendwie codieren ohne binär des will irgendwie net 😞



  • Was hast du denn gegen binär gespeicherte Daten?

    (wenn dir die Bordmittel von C nicht ausreichen, es gibt genug Methoden, einen Wert zu verschlüsseln)

    int x;//=Daten
    char c[sizeof(int)];
    codiere(x,c);
    fwrite(c,1,sizeof(int),file);
    
    ...
    
    char c[sizeof(int)];
    int x;
    fread(c,1,sizeof(int),file);
    decodiere(c,&x);
    

Anmelden zum Antworten