ERLEDIGT
JA
JA
ANTWORTEN
25
25
ZUGRIFFE
983
983
EMPFEHLEN
-
Hallo,
ich hab da mal wieder eine Frage an die Experten. in dem folgendem Beispiel möchte ich einzelne Charakter nacheinander zu einem String zusammenfügen. Leider klappt das bei mir nicht.
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
#include <stdlib.h> #include <stdio.h> #include <string.h> char buffer[SIZE]; FILE *file1, *file2; // Eingabe- und Ausgabe-File char* wort = ""; ... while((c = fgetc(file1)) != EOF) { if((c >= 48 && c<= 57) || (c >= 65 && c <= 90) || (c >= 97 && c <= 122)) { //wort = (char*) c; //strcpy(wort, (char*) c); } printf("Wort: %s\n",wort); }
mit strcpy komme ich nicht weiter. Die String.h Referenz gibt nicht mehr her. Habt ihr noch eine idee, wie sich das realisieren lässt?
-
Hi
wort hat keinen Speicher.
Bzw. nur 2 Byte. Das reicht nicht lang.
Leg also zuerst mal ein ordentlich großes wort an.
Dann...mit der Schleife wirst du am Ende in dein "wort" die ganze Datei einlesen, jedoch nur die Ziffern und Buchstaben daraus. Trotzdem die ganze Datei, nicht nur ein Wort.
Ist das beabsichtigt?
Das letzte printf sollte durch puts ausgetauscht werden.
Das printf gehört außerdem aus der Schleife raus.
Und die Zwei (zurzeit auskommentierten) Zeilen in der Schleife sind Unsinn.
Mach zuerst außerhalb der Schleife ein int, zB. zaehler.
Setz ihn auf 0.
Statt der zwei Kommentarzeilen machst du dann
Nach der Schleife, vor dem printf machst du dann noch einCode cpp:1
wort[zaehler++] = c;
zum Abschluss.Code cpp:1
wort[zaehler] = '\0';
Was noch fehlt: Überprüfen, ob wort eventuell zu klein wird.
GrußNetiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
Hi danke erstmal für die schnelle antwort.
in "wort" wir tatsächlich eine komplette datei eingelesen - wobei die Datei nur sehr klein ist (4 Zeilen). Aber es sollen nachher noch mit zusatzfunktionen die wörter nach und nach in dem String "wort" erscheinen. ich wollte erstmal wisse, wie ich überhaupt gefilterte Zeichen in einem String bekomme.
-
Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
Ja danke es funktioniert... hatte aber eher gehoft, dass es mit einer art buffer (string) auch funktionieren würde.
Danke
-
Das denk ich auch

Ich denke, du hast mich oben gründlich missverstanden.
Zeig den Code.Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
Code java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
char wort[500] = ""; int zeilen = 1; int spalten = 1; int i = 0; while((c = fgetc(file1)) != EOF) { if(c == '\n') { zeilen++; spalten = 1; } if((c >= 48 && c<= 57) || (c >= 65 && c <= 90) || (c >= 97 && c <= 122)) { wort[i] = c; printf("%c",wort[i]); } else { for(int i=0;i <= 500; i++) wort[i] = " "; //Feld löschen } spalten++; }
-
So wirklich gelesen hast du meinen Anweisungsbeitrag aber nicht, oder?
Außerdem darf das nicht mal kompilieren.Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
wieso? ich meine nur printf mit puts auszutauschen, macht mir jetzt kein so richtigen sinn.
Oder ich habe puts nicht verstanden
-
Mir gehts auch nicht um das puts.
Das ist das Unwichtigste am Ganzen.Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
Kannst du mir noch sagen, wie ich jetzt das Feld in ein String bekomme?
Danke Dir im Vorraus.
-
Das Feld ist ein String.
Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
ich meine als buffer -> char* wort
nicht char wort[]
-
Das ist das Selbe.
Ich kann dir nur (wie so oft schon) den Hinweis geben,
dich mit den grundlegensten Grundlagen zu beschäftigen.
Das dir das fehlende Wissen immer wieder Probleme bereitet,
merkst du ja selbst.Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
ja... danke dir.
eigentlich ist ein feld immer ein Vektor und ein string eine Zeichenkette ohne vektor
ich brauche aber ein nicht array sondern eine Zeichenkette (String) one vektorGeändert von sheel (25.11.11 um 00:27 Uhr) Grund: Doppel
Ähnliche Themen
-
DB2: String und Zahl zusammenfügen
Von CurlyConny im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 05.08.08, 10:04 -
Mehrfaches Character-Replacement in einem String - Effizienz?
Von dlk94mylis im Forum JavaAntworten: 3Letzter Beitrag: 08.05.07, 09:36 -
Syntax error converting datetime from character string
Von daschii im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 13.02.06, 10:20 -
Einzelne PDF Dateien zusammenfügen?
Von bigfella im Forum Office-AnwendungenAntworten: 4Letzter Beitrag: 23.01.05, 17:49 -
Einzelne zeilen auslesen und in einer zusammenfügen?
Von thevibe im Forum Visual Basic 6.0Antworten: 3Letzter Beitrag: 16.09.04, 15:33





Zitieren


Login






