Möcht en Programm schreiben, aber wo fang ich an?
-
Hi...bin noch recht frisch in sachen C/C++ und da brauch ich etwas starthilfe ;).
Also ich möchte ein programm schreiben (win32) was folgendes tut:
- Nach aufforderung mit "-add" muss der Benutzer was eingeben...
- Das soll in einer .txt gespeichert werden.
- Ende.
- Wenn man das Programm nach einiger zeit wieder öffnet um sachen nachzugucken, was inner .txt steht, soll man es mit "-list" lesen können was in der .txt steht.
- Desweiteren soll man Einträge auch wieder löschen können mit dem Befehl "-del"So ne Art Menü damits net so kompliziert wird:
- Etwas in der .txt Datei hinzufügen: -add
- Etwas aus der .txt löschen : -del
- Auflisten was in der .txt steht : -listHoffe des war net alt zu schwer zu verstehen:).
Bin über jeden Tipp sehr dankbar
-
c oder c++)
für c++ würde ich mir erstmal den artikel ströme im c++ faq (unten auf der seite) durchlesen, und mir da weitere ideen holen
wenn c, dann kannst du für textarbeit mal das entsprechende kapitel auf www.pronix.de erforschen.
-
da ich noch neuling bin und nur die sprache von c kenne würde ich eher das 2te vorschlagen;)
aber ich find komischer weise das kapitel net...kannst mir da helfen elise?
achja, danke dir für deine unterstützung;)
/edit:
so ich hab ersma des mit -list gemacht, sodass er mir die zeichen für zeichen ausliehst.
Aber wie kann ich nun den befehl "-list" hinzufügen?hier mal der code:
#include <stdio.h> #include <stdlib.h> int main(void) { int c; FILE *datei; printf( "USE: \n"); printf( "---------\n"); printf( "Add Word : sort.exe -add\n"); printf( "Delete Words: sort.exe -del\n"); printf( "List File : sort.exe -list\n"); printf( "\n\n"); datei=fopen("test.txt", "r"); if(datei != NULL) { while( (c=fgetc(datei)) != EOF) putchar(c); } else { printf("Where is the File?!\n"); return EXIT_FAILURE; } return EXIT_SUCCESS; }
-
Im Open Book C von A bis Z:
Kapitel: 18. Ein-/Ausgabe - Funktionen
Dort steht alles was du brauchst.
-
Dein main() Programmeinstiegspunkt übernimmt die Sache mit -list.
Die main() muss so aussehen:
int main(int argc, char *argv[]) //häufiger benutzt oder int main(int argc, char **argv) //weniger häufig benutzt
Wie man sehen kann übergibt argc eine Zahl. Diese Zahl entspricht der Anzahl
benutzter Parametern. Sie ist niemals kleiner als 1, da an der 1. Stelle der
Pfad zum Programm gespeichert ist.
D.h. ist argc > 1 wenn ein Parameter angegeben wurdeargv ist ein Zeiger auf ein Char Feld, in argv[0] befindet sich der der Pfad zum Programm, argv[1] währe also der erste Parameter.
Doch wie benutzten wir Parameter?
Unter Windows z.B. mit einer Batch Datei.
In diese schreiben wir einfach folgendes:@echo on programmname.exe -list pause
Das echo ist auf on gesetzt, damit wir auf dem Bildschirm angezeigt bekommen was das Programm zurückgibt.
Dem Programm programmname wird der Parameter -list übergeben, welcher in argv[1] gespeichert wird.
Das pause ist nur zum fensteraufhalten, eine Kinderkrankheit bei der Windowskonsole oder soll ich lieber Dos Emulator sagen...Ich hoffe das hat dir jetzt etwas geholfen
-
Danke dir, es hat mir geholfen, aber wenn ichs programm starte zeigt er mir direkt an was in der text.txt ist:(