Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » zeilenweise quelltext

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] > 6 < [ 7 ]
050
22.10.2003, 15:27 Uhr
virtual
Sexiest Bit alive
(Operator)


Ich habe inzwischen auch einen Bug gefunden:

C++:
for (i=0; i<len-fix_len && !found; ++i, --len, ++str, match += 2)


sollte heissen

C++:
for (; len>=fix_len && !found; --len, ++str, match += 2)


Und ich meinte nicht /1 und /2 sondern \1 und \2. Das sind auch Zeichen, die aber niemals im C Programm vorkommen können, also getrost als Wildcards an Stelle von ? und * verwendet werden können.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
051
22.10.2003, 15:31 Uhr
geissbock



jetzt funzt es auch.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
052
22.10.2003, 15:40 Uhr
geissbock



ich komm aber mit dem debuger nicht durch. geht das bei dir?

oder mach ich was falsch? wie muss ich damit umgehen. weil so vertraut bin ich damit noch nicht.

Dieser Post wurde am 22.10.2003 um 15:40 Uhr von geissbock editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
053
23.10.2003, 10:33 Uhr
geissbock



ich versuche nun den zu untersuchenden string mir aus einer datei einlesen zu lassen.

C++:
char text;
FILE *fp=fopen("test.txt","rb");
fscanf(fp,"%s",&text);
fclose(fp);



die syntax ist richtig. aber beim ausführen kann das prog nicht durchlaufen werden. er sagt das der vorgang read nicht durchgeführt werden kann. woran kann das liegen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
054
23.10.2003, 11:48 Uhr
~toxic
Gast


hi, wie das sehe versuchst du einen string (%s) in ein char (&text) zu lesen.
versuch mal:
char text[80];

gruss
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
055
23.10.2003, 12:03 Uhr
geissbock



aber er liest immer nur bis zum ersten leerzeichen. wie kann ich das umgehen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
056
23.10.2003, 14:40 Uhr
virtual
Sexiest Bit alive
(Operator)


fgets verwenden
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
057
23.10.2003, 15:09 Uhr
geissbock




C++:
char puffer[9];
int length = strlen(puffer);
FILE *quelle = fopen("test.txt","r");
fgets(puffer, 11, quelle);
printf ("%d\n",length);
fclose(quelle);



also ich habe ein string mit 10 elementen. aber wieso gibt er mir als länge 15 aus? das versteh ich nicht.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
058
23.10.2003, 17:34 Uhr
virtual
Sexiest Bit alive
(Operator)


Mal Zeile für Zeile:


C++:
char puffer[9];


Okay, puffer ist ein zeiger auf 9 Byte. Alle uninitialisier


C++:
int length = strlen(puffer);


Nicht okay: puffer enthält keinen Initialisierten Speicher. Vermutlich willst Du ja die Länge des Strings berechnen, den Du nachher lesen willst. Also erst dann das strlen() machen!


C++:
FILE *quelle = fopen("test.txt","r");


Okay. Fehlerbehandlung fehlt allerdings.

C++:
fgets(puffer, 11, quelle);


Wo kommt denn nun plötzlich die 11 her? Du hast Puffer doch mit 9 Byte reserviert! - Hier muß nen 9 oder sizeof(puffer) hin.


C++:
printf ("%d\n",length);
fclose(quelle);


Okay.
also ich habe ein string mit 10 elementen. aber wieso gibt er mir als länge 15 aus? das versteh ich nicht.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)

Dieser Post wurde am 23.10.2003 um 17:34 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
059
24.10.2003, 10:59 Uhr
geissbock



ok. soweit funzt alles. hab das prog jetzt soweit modifiziert das er sich daten aus einer datei einliest und diese mit einem eingegeben string vergleicht. dabei durchsucht er die datei nach dem vorkommen. ich hab nur ein problem beim einlesen. am besten wäre es wenn er sich die datei zeile für zeile in den buffer einliest und nach jeder zeile vergleicht. wie mach ich das? so sieht es bei mir jetzt aus. aber da list er nur bis zum zeilenumsprung.


C++:
FILE *quelle = fopen("test.txt","r");
fgets(puffer, 255, quelle);
fclose(quelle);

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] > 6 < [ 7 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: