kwrite problem



  • hallo ich habe meine c++ code in kwrite-editor geschrieben und nach einer Änderung auf uni16 kodierung bekomme ich vom compiler nur noch müll:

    ...
    mustang.cpp:4:6: ungültige Präprozessordirektive #i
    mustang.cpp:4:7: Warnung: Null-Zeichen ignoriert
    mustang.cpp:4:9: Warnung: Null-Zeichen ignoriert
    mustang.cpp:4:11: Warnung: Null-Zeichen ignoriert
    mustang.cpp:4:13: Warnung: Null-Zeichen ignoriert
    mustang.cpp:4:15: Warnung: Null-Zeichen ignoriert
    mustang.cpp:4:17: Warnung: Null-Zeichen ignoriert
    ...
    

    kann jemand helfen?
    Gruss
    24dan



  • Nabend,

    hab leidre meine Glaskugel nicht hier, zeig mal was Code.

    mfg
    v R



  • Hat dein Compiler denn eine Einstellung, um uni16 kodierung interpretieren zu können? So wie es aussieht geht er ja von einer 1-bytigen Kodierung aus (wahrscheinlich ASCII) und beschwert sich, dass einzelne Bytes (die eigentlich zu einem 2-bytigen Zeichen gehören) null sind.



  • virtuell Realisticer schrieb:

    Nabend,

    hab leidre meine Glaskugel nicht hier, zeig mal was Code.

    mfg
    v R

    [cpp]
    # include <fstream>
    # include <iostream>
    # include <string>
    # include <list>
    # include <algorithm>
    # include <stdio.h>
    # include <fcntl.h>
    # include <sys/types.h>
    # include <sys/stat.h>
    # include <stdlib.h>
    
    using namespace std;
    
    int main( int argc, char ** argv)
    {
        if (argc != 2) {
            cerr << "usage: " << argv[0] << " infile outfile\n";
            exit(1);
        }
        char *infile = argv[1];
    
        list<string> words;
        list<char> buchstaben;
        char buchstabe(2);                //char array
        string word;
    
        ifstream ifs;
        ifs.open( infile);
        if (! ifs) {
            cerr << "cannot open file " << infile << " for input\n";
            exit(1);
        }
    
    //  file größe ermitteln ----------------------- start
    
        int iFileSize; /* Größe der Files in Byte */
        struct stat stbuf;
    
        stat(infile, &stbuf);   /* Dateigröße ermitteln */
    
        iFileSize = stbuf.st_size;
        printf ("filesize: %d\n", iFileSize);
    //  file größe ermitteln ----------------------- ende
    
        while (ifs >> word) {
           words.push_back( word);
           for(int i=0;i<wort.size();i++) {//wort.size()ist anzahl der buchstaben
              // buchstabe(i) enthält das iŽte zeichen des wortes
              cout<<buchstabe(i)<<endl;//ausgabe des arrays
           }
            cout << "Begin: "<< ios::beg << "\tAktuell: "<< ios::cur
                 << "\tEnde: "<< ios::end << endl;
       }
    
        if (! ifs.eof()) {
            cerr << "error while reading from file " << infile << endl;
            exit(1);
        }
    
        ifs.close();
    
            list<string>::iterator iword;
            //list<char>::iterator ibst;
        for (iword = words.begin(); iword != words.end(); ++iword) {
            cout << *iword << endl;
            /*for (ibst = buchstaben.begin(); ibst != buchstaben.end(); ++ibst){
            cout << ibst << endl;
            }*/
        }
    
        return(0);
    }
    [/cpp]
    

    [cpp]

    nichts besonderes 😞
    Gruss
    24dan[cpp]



  • Spezi L schrieb:

    Hat dein Compiler denn eine Einstellung, um uni16 kodierung interpretieren zu können? So wie es aussieht geht er ja von einer 1-bytigen Kodierung aus (wahrscheinlich ASCII) und beschwert sich, dass einzelne Bytes (die eigentlich zu einem 2-bytigen Zeichen gehören) null sind.

    Danke ich glaube das war es ich habe den jetzt mit kwrite nicht mal mehr öffnen können.
    Mit # cat file.cpp + makieren + kopie und neu compilieren läuft es jetzt.
    Thanx
    24dan


Anmelden zum Antworten