Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Cyianor Super JLI'ler
Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 23.12.2002, 15:54 Titel: Zeichen einzeln einlesen |
|
|
Hi,
ist es eigentlich möglich, oder besser gesagt, wie kann man aus einer Textdatei die Zeichen einzeln einlesen?
Also wenn ich jetzt zum Beispiel nur das 2 Zeichen in Zeile 4 wissen will. |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 23.12.2002, 20:54 Titel: |
|
|
Die Position mußt du zwar selbst bestimmen, aber mit fgetc() kann man genau ein Zeichen einlesen. Datei mit fopen öffnen, mit fgetc die Zeichen Lesen und Datei wieder schließen. Allerdings ist es wesentlich performanter, wenn man eine ganze Textzeile einließt, und den String zur Verarbeitung nutzt...
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
Cyianor Super JLI'ler
Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 26.12.2002, 19:46 Titel: |
|
|
Du hast geschrieben, das man mit fgetc() ein Zeichen einlesen kann, aber wie kann ich bestimmen, welches Zeichen, und wie meinst du das mit ganze Zeile einlesen und dann aus dem String die Zeichen rausholen????? |
|
Nach oben |
|
|
DaN00b JLI'ler
Anmeldedatum: 10.08.2002 Beiträge: 159
Medaillen: Keine
|
Verfasst am: 26.12.2002, 22:04 Titel: |
|
|
also zum zweiten:
du willst anscheinend aus z.b. einer textdatei ein zeichen auslesen das geht anscheinend wie afe gesagt hat mit fgetc()
aber es gibt auch die möglichkeit eine ganze zeile aus einer text oder binärdatei auszulesen mit fgets() glaub ich
die zeile kannste dann in nem string speichern und den string dann selbst bearbeiten so wie du das willst _________________ Carpe Diem - Seize the day - Nütze den Tag! |
|
Nach oben |
|
|
Cyianor Super JLI'ler
Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 27.12.2002, 10:36 Titel: |
|
|
Sorry, bin noch ziemlicher Anfänger. Wie kann ich denn einen String bearbeiten? |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 27.12.2002, 12:09 Titel: |
|
|
HalliHallo,
also, wie weit bist du denn? Kannst du die Datei öffenen (fopen)? Danach
kannst du mit fgets() eine komplette Zeile aus der Textdatei lesen. Diese
liest du am besten in einen String (Feld von charactern). In diesem Feld kannst du dann auf die einzelnen Buchstaben zugreifen:
Code: |
char buf[1024]; // der String/Puffer für die Zeichen
FILE* Datei = fopen("c:\\datei.txt","rt");
if(Datei)
{
fgets(buf,1023,f);
printf("3. Zeichen aus der ersten Zeile ist : %c",buf[2]);
}
fclose(f);
|
Christian |
|
Nach oben |
|
|
Cyianor Super JLI'ler
Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 29.12.2002, 18:11 Titel: |
|
|
Im Buch steht aber das man mit fgets() nur eine Zeile herauslesen kann, dann stoppt das ganze, wenn ich jetzt aber nur die zweite Zeile herauslesen will. |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 29.12.2002, 19:30 Titel: |
|
|
... kommt der nächste Aufruf von fgets zum Zug
Ps.: Zu deiner Signatur: Game Over! _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
Cyianor Super JLI'ler
Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 30.12.2002, 14:38 Titel: |
|
|
Hä, wie dann kommt der zweite Aufruf von fgets(), dann liest er doch wieder die erste Zeile.
Ps: was ist an meiner Signatur so schlimm? |
|
Nach oben |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 30.12.2002, 15:59 Titel: |
|
|
Das ist so: beim ersten aufruf wird die erste Zeile, beim zweiten, die zweite und so weiter ausgelesen. |
|
Nach oben |
|
|
|