Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > C/C++, Visual C++, Visual C++.NET

C/C++, Visual C++, Visual C++.NET Fragen und Antworten zu C/C++, Visual C++ und Visual C++.NET

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50849, Antworten: 1390
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26615, Antworten: 4194
Gehe zum ersten neuen Beitrag Windows Oberfläche (Schrift,...
Aufrufe: 176, Antworten: 10
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 63, Antworten: 5
Gehe zum ersten neuen Beitrag TabCtrl
Aufrufe: 121, Antworten: 12
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 93, Antworten: 4
Gehe zum ersten neuen Beitrag Dateien lassen sich nicht...
Aufrufe: 17, Antworten: 2
Gehe zum ersten neuen Beitrag Suche Programm um Werbung zu...
Aufrufe: 49, Antworten: 2
Gehe zum ersten neuen Beitrag McAfee AVERT Stinger...
Aufrufe: 13, Antworten: 0
Gehe zum ersten neuen Beitrag Sticky Password 6.0.2...
Aufrufe: 25, Antworten: 0
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07.12.2005, 15:26   #1 (Direktlink)
rollbrett.träger
Gast
 
Beiträge: n/a
Standard entertaste in eine Datei schreiben ?? fputc ??

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.
  Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 07.12.2005, 19:11   #2 (Direktlink)
Dauergast
 
Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
Standard

Also da ich nicht genau weiss was da nicht funktioniert...

Nur so ein versuch...
probiers mal hiermit:
{
fputc('\r',zeiger);
fputc('\n',zeiger);
break;
}
lastwebpage ist offline   Mit Zitat antworten
Alt 07.12.2005, 20:44   #3 (Direktlink)
rollbrett.träger
Gast
 
Beiträge: n/a
Standard

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
  Mit Zitat antworten
Alt 07.12.2005, 20:44   #4 (Direktlink)
rollbrett.träger
Gast
 
Beiträge: n/a
Standard

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
  Mit Zitat antworten
Alt 07.12.2005, 21:08   #5 (Direktlink)
Dauergast
 
Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
Standard

\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) ?
lastwebpage ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 08.12.2005, 01:07   #6 (Direktlink)
rollbrett.träger
Gast
 
Beiträge: n/a
Standard

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.
  Mit Zitat antworten
Alt 08.12.2005, 01:25   #7 (Direktlink)
Dauergast
 
Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
Standard

nochmals die Frage, wird fputs ausgeführt oder nicht, wenn ja welches Zeichen wird geschrieben ?
lastwebpage ist offline   Mit Zitat antworten
Alt 08.12.2005, 17:05   #8 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 08.12.2005
Beiträge: 2
Standard

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 ?
rollbrett.träger ist offline   Mit Zitat antworten
Alt 08.12.2005, 18:52   #9 (Direktlink)
Dauergast
 
Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
Standard

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; }
...
lastwebpage ist offline   Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Programmierung > C/C++, Visual C++, Visual C++.NET

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an




Alle Zeitangaben in WEZ +2. Es ist jetzt 05:33 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2