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