Arbeit in Ansi-C
-
Guten Tag, liebe c-plusplus-Community,
morgen schreibe ich im Fach Programmieren eine Arbeit über Ansi C.Mit folgenden Schwerpunkten:
- ^Zeichenkettenmanipulationen mit Funktionen (z.B. kopieren, anhängen und die Länge bestimmen)^
- ^Felder (Arrays)^
- ^Kommandozeilenargumente (argv, argc)^
- ^Strukturen (structs)^
- Rekursionen
- Datei-Streams
Nun habe ich aber Probleme bei manchen Dingen. Nun ja fangen wir mal an
1. Zeichenkettenmanipulationen mit Funktionen (z.B. kopieren, anhängen und die Länge bestimmen)
Das Prototyping sowie die Bibliotheken habe ich mal aussenvor gelassen
Die Main-Funktion
int main(void) { char z1[]="Alabama"; char z2[]="Abrakadabra"; int i=laenge(z2); printf("Laenge von z2:%d\n",i); kopieren(z2,z1); printf("%s,%s\n",z1,z2); }
Die laenge() Funktion
int laenge(char *s) { int n=0; while(*s!=0) { n++; s++; } return n; }
Die kopieren()-Funktion
void kopieren(char *ziel,char *quelle) { while((*ziel++ && *quelle++) != 0); }
Nun, mein Problem ist, wie hänge ich Zeichenketten an?
Also als Ergebnis soll: alabamaabra rauskommen. Wie genau stelle ich das an?2. Datei-Streams
Bei den Datei-Streams müssen wir können: Datei einlesen, Datei schreiben und eine Datei kopieren. Dies soll jeweils zeichenweise erfolgen. Unser Lehrer hat uns zwar ein Beispiel für das Kopieren gegeben. Jedoch versteh ich es nicht
Hier mal der Code Auschnitt:
int main(void) { FILE *quelle; FILE *ziel; char ch; quelle=fopen("filecopy.c","r"); ziel=fopen("tmp.txt","w"); while((ch=fgetc(quelle))!=EOF) fputc(ch,ziel); fclose(quelle); fclose(ziel); }
Nun fehlt mir nur noch das Einlesen von Datein und das Schreiben von Datein. Da bräuchte ich besonders Hilfe xD.
Jo das wars glaube ich erstmal ^^. Es ist im Prinzip etwas sehr einfaches (für euch jedenfalls), ich tue mich damit extrem schwer. Wäre super lieb von euch, wenn ihr mir weiterhelfen könnt, dürfte ja für euch kein Problem sein.
Falls ihr mir helft, könnt ihr die Variablen nehmen, die dort angegeben sind? Weil ich komme durcheinander, wenn ich andere Variablen habe.
Danke im Voraus
-
BraCay1 schrieb:
Nun, mein Problem ist, wie hänge ich Zeichenketten an?
Also als Ergebnis soll: alabamaabra rauskommen. Wie genau stelle ich das an?wenn du's mit den funktionen machst, die du gepostet hast, dann sollte:
1. z1 mehr speicher haben, z.b. so:char z1[256]="Alabama";
2. z2 nur aus "abra" bestehen, also: char z2[]="abra";BraCay1 schrieb:
...ich komme durcheinander, wenn ich andere Variablen habe.
das ist ein scherz, oder? die namen sind doch völlig egal.
-
Merke selbst gerade, das was ich beschrieben habe nicht gleich das ist, was ich haben wollte ^^
mit den variablennamen ist eigentlich egal, bloß wenn gleich wieder ein experte kommt und mit seinen variablen umsich wirft, komme ich durcheinander, letztens habe ich nach structs gefragt und der Kollege der mir geholfen hat, hat mir variablen genannt, die mich voll verwirrt haben x)
ich hoffe es macht keine großen umstände, wenn ich das jetzte so "verlange" ^^
PS: das Datein anhängen habe ich jetzt, fehlen nur noch die datei streams ^^