Schleife
-
Ich habe ein Problem. Ich brauche eine Schleife die eine Eingabe analysiert.
Dabei soll die Schleife den Anfang und das Ende jeder Zeichenkette speichern.
Also, zum Beispiel:
anmelden\o
login 5\o
kauf vw 25\oIch brauche also die Position der Leerzeichen und des Ende-Zeichens\o.
Mit +1 und -1 kann ich mir dann die Position der Worte errechnen.Aber die Schleife krieg ich einfach nicht hin.
Bitte helft mir!
-
hmm, ich hab mal was ähnliches gemacht... ich hab dabei einfach aus einer textdatei gelesen...
hier ein ansatz, vieleicht kannst du dir daraus etwas basteln =b
void readFile(char string[25][100], const char file[]){ FILE* dat; int i, j=0; char help='i'; dat=fopen(file,"r"); if(dat == NULL){ printf("Fehler beim %cffnen!\n", OE); exit(-1); } for(i=0; i<25; i++){ do{ help=fgetc(dat); switch(help){ case 'ö': help=oe; break; case 'Ö': help=OE; break; case 'ä': help=ae; break; case 'Ä': help=AE; break; case 'ü': help=ue; break; case 'Ü': help=UE; break; case 'ß': help=ss; break; case ';': help='\0'; break; } string[i][j++]=help; }while(help != '\0' && j < 100); j=0; } }
ach ja, fürs ss oder OE etc. brauchst du nach den includes einfach folgendes
einfügen:#define AE (unsigned char)142 #define ae (unsigned char)132 #define OE (unsigned char)153 #define oe (unsigned char)148 #define UE (unsigned char)154 #define ue (unsigned char)129 #define ss (unsigned char)225
ich weiß nicht wieso, aber printf hat irgendwie probleme damit, sowas richtig
wieder zugeben:printf("ä");
es kommt jediglich irgend ein zeichen. scanf jedoch kann ein ä,ö,ü,ß etc.
erkennen. schreib bei einer ausgabe oder bei einer ausgabe zum beispiel:printf("M%crder", oe); // Mörder
zu fragen stehen ich gerne zur verfügung...
gruß
ITEDVOPS: mit dieser funktion lese ich folgendes ein:
B. Daniel; B. Manuel; D. Wolfgang; F. Philipp Johann; G. Erik; G. Gerald; H. Pascal Maximilian; K. Andreas; K. Christoph Michael; K. Sebastian; K. Johannes; M. Martin; M. Thomas; M. Mathias; N. Julia; P. Maximilian; R. Sven Marcel; S. Lukas; S. Sebastian Heinz; S. Georg; S. Stefan; S. Philipp; T. Dominik; W. Nino; W. Christian;
Familiennamen zensiert, was ja klar ist xD dort kommen aber eben ö,ü,ä etc.
vor =b
-
itedvo schrieb:
ich weiß nicht wieso, aber printf hat irgendwie probleme damit, sowas richtig
wieder zugeben:printf("ä");
es kommt jediglich irgend ein zeichen. scanf jedoch kann ein ä,ö,ü,ß etc.
erkennen. schreib bei einer ausgabe oder bei einer ausgabe zum beispiel:printf("M%crder", oe); // Mörder
Mach es lieber so:
#include <windows.h> #include <stdio.h> int main(void) { char aus[] = "äÄöÖüÜß"; CharToOem(aus, aus); printf("%s", aus); }