![]() |
Anzeige:
|
|
|||||||
| C/C++, Visual C++, Visual C++.NET Fragen und Antworten zu C/C++, Visual C++ und Visual C++.NET |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Gast
Beiträge: n/a
|
hallo alles zusammen...
ich habe folgendes problem : ich will in c++ ein programm schreiben welches mit einer Funktion bis zu 50 Zeichen einliest und diese in eine externe Datei schreib, nebenbei kann man nach beliebeger Zeichenanzahl mit ENTER abbrechen. Nun will ich das os machen das ich nach jedem mal wo das programm lief ein Zeilensprung in der Datei erfolgt sodass beim 2 Start des Proggramms in die 2.te zeile geschrieben wird und die erste noch immer beschrieben ist mit den vorrausgegangenen daten. Ich muß dies für Schule machen deswegen sollte ich mich an die befehle " fputc und fgetc " halten. Habe nun versucht mit -- fputc ('13',zeiger); -- eine entertaste im ascii code in die datei zu schreiben hat aber nicht gefunzt. wi kann ich das regeln ? ach ja das programm lief früher so das die entertaste nich mehr als zeichen mit eingelesen wurde. das hatte ich über -- if(Taste!=13) { fputc(Taste,zeiger); i++; } else { fputc(13,zeiger); break; } -- realisiert., hierbei sieht man auch meinen gedanken zu der sache die entertaste erneut in die datei zu schreiben. Das is ´t halt auch das Problem ich bekomm einfach keinen Zeilenumbruch in die Datei. |
|
|
|
|
#2 (Direktlink) |
|
Dauergast
![]() Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
|
Also da ich nicht genau weiss was da nicht funktioniert...
Nur so ein versuch... probiers mal hiermit: { fputc('\r',zeiger); fputc('\n',zeiger); break; } |
|
|
|
|
|
#3 (Direktlink) |
|
Gast
Beiträge: n/a
|
danke fr die antwort hat aber nich geklappt. das problem is das ich in eine TExt datei einen zeilenumbruch schreiben will. nur wie ?
und kjannste mir nebenbei noch erklären was '/r' und '/n' bedeutet ? Danke |
|
|
|
#4 (Direktlink) |
|
Gast
Beiträge: n/a
|
danke fr die antwort hat aber nich geklappt. das problem is das ich in eine TExt datei einen zeilenumbruch schreiben will. nur wie ?
und kjannste mir nebenbei noch erklären was '/r' und '/n' bedeutet ? Danke |
|
|
|
#5 (Direktlink) |
|
Dauergast
![]() Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
|
\n =Neue Zeile
\r =Wagenrücklauf Beides zusammen, Neue Zeile und vorne neu Anfangen. Wird den überhaupt was in die Datei geschrieben, wenn ja was, oder ist das Problem if(Taste!=13) ? |
|
|
|
|
|
|
#6 (Direktlink) |
|
Gast
Beiträge: n/a
|
jaja, in die datei werden zahlen,buchstaben usw. gfeschrieben eben 50 Zeichen. nur das ich beim nächsten programm start in der nächjsten zeile anfange und weiter schreibe bekomm ich nicht hin.
also ich schreib die datei auch weiter und überschreib sie nicht. |
|
|
|
#7 (Direktlink) |
|
Dauergast
![]() Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
|
nochmals die Frage, wird fputs ausgeführt oder nicht, wenn ja welches Zeichen wird geschrieben ?
|
|
|
|
|
|
#8 (Direktlink) |
|
Erfolgreich angemeldet
![]() Registriert seit: 08.12.2005
Beiträge: 2
|
na ein zievchen das der anwender eingibt. und ich will erreichen das man die entertaste drückt und somit auch in der datei ein zeilensprung erfolgen soll.
ich poste jetz einfach mal das genzt prog. sorry moderatoren void eintrag(FILE*); void zeige(FILE*); void main() { FILE* datei=NULL; eintrag(datei); system("cls"); cout<<" in der datei steht: "<<endl; zeige(datei); } void eintrag(FILE* zeiger) { zeiger=fopen("nahey.txt","a"); int i=0; char Taste; cout<<"\n c:\\ tmp \\ nahey.txt \tDatei öffen...\n"<<endl; cout<<" Bitte geben sie eine max. 50 Zeichen ein. Abbruch mit ENTER : \n\n"<<endl; zeiger=fopen("nahey.txt","a"); do { Taste=getche(); if(Taste!=13) { fputc(Taste,zeiger); i++; } else { fputc(Taste,zeiger); break; } }while(i<50); cout<<"\n\n Datei schliessen..."<<endl; getch(); fclose(zeiger); } void zeige(FILE* zeiger) { char a; zeiger=fopen("nahey.txt","r"); do { a=fgetc(zeiger); cout<<setw(3)<<" "<<a; }while(!feof(zeiger)); fclose(zeiger); } in dem rot markierten teil soll mit der zwieten fputc-anweisung , also der im else-block, die entertaste in die nahey.txt geschreiben werden. is das ausführlich genug ? |
|
|
|
|
|
#9 (Direktlink) |
|
Dauergast
![]() Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
|
nahey.txt Inhalt=ABC
.... Taste=getche(); if(Taste!=13) { fputc(Taste,zeiger); i++; } else { printf("Entertaste gedrückt\n"); //wird das überhaupt angezeigt wenn ja was steht anschließend in ABC ? fputc('\r',zeiger); fputc('\n',zeiger); break; } ... |
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|