Bestimmte Zeichen aus Arrray ersetzen



  • Hallo, ich lasse Daten aus einer Datei auslesen in ein Array schreiben und dann in eine Textdatei ausgeben.
    Das funktioniert alles einwandfrei - nur gibt er mir anstatt von ä's und ö's irgendwelche kryptischen Zeichen, wie z.B: " aus.
    Wie kann ich das ändern?
    Hier mal die Ausgabefkt.:

    int Ausgabe(int MenueNr) 
    { 
      fh = fopen("Handel.dat","rb"); 
      for(i=0;i<N;++i) 
      { 
        Arbeitseffektivitaet = (myRECORD[i].Umsatz/myRECORD[i].Beschaeftigte); 
        Mitarbeiterlohn = (myRECORD[i].Loehne/myRECORD[i].Beschaeftigte);
        printf("Filale:%16c%s\n",' ',myRECORD[i].Filiale); 
        printf("Umsatz:%16c%f\n",' ',myRECORD[i].Umsatz);
        printf("Bestand:%15c%f\n",' ',myRECORD[i].Bestand);
        printf("Beschaeftigte:%9c%f\n",' ',myRECORD[i].Beschaeftigte);
        printf("Loehne:%16c%f\n",' ',myRECORD[i].Loehne);
        printf("Mitarbeiterlohn:%7c%f\n",' ',Mitarbeiterlohn); 
        printf("Arbeiteseffektivitaet: %f\n\n",Arbeitseffektivitaet);
        getch(); 
      }
      fclose(fh); 
    }
    


  • Mit Unicode statt mit ASCII arbeiten. ASCII kennt kein Ö.

    Frag mich aber nicht wie das geht. 😃



  • " printf("L %c sungen:\n" ,148 ); "
    148 ist die Dez. Zahl für Ö
    😮 😃



  • http://jimprice.com/ascii-128-255.gif

    hier findest du die zeichen von 128-255

    deine charausgabe sollte

    unsigned char buchstabe
    

    sein damit du die zahlen 0-255 wiedergeben kannst



  • Hier mal mein jetziges Struct:

    struct Satz{ 
      unsigned char Filiale[21]; 
      float Umsatz; 
      float Bestand; 
      float Beschaeftigte; 
      float Loehne; 
      unsigned short Quadratmeter; 
      float Anlagevermoegen; 
    }__attribute__ ((packed))myRECORD[N];
    

    Also wie du siehst habe ich char in unsigned char umgewandelt - aber wie bitteschön bekomme ich jetzt die Zeichen, die aus der Binärdatei ausgelesen werden beim abspeichern in die *.txt z.B. gegen ein "ae" oder gegen ein "ä" ersetzt?
    Wie kann ich Dateien in der AUSGABE, bzw. beim abspeichern in die *.txt-Datei ersetzen? Ich hab absolut keine Ahnung, wie ich das machen soll.

    @coolzero0001
    Das mag sein, hilft mir beim Problem aber nicht weiter!


Anmelden zum Antworten