programm in c header |
10.01.2014, 22:59 | Auf diesen Beitrag antworten » | |||||||||
hammala | programm in c header Meine Frage: Hallo, ich hab ein Problem und zwar soll ich die Funktion int leseZeichenkette(char * zeichenkette) programmieren in einer Header-Datei. Die Fkt. soll eine Zeichenkette mit maximal 10 Zeichen einlesen und an zeichenkette schreiben. Ist die eingelesene Zeichenkette zu lang, dann Puffer leeren und -1 zurückgeben, sonst 0. Es funktioniert einfach nicht! Meine Ideen: int leseZeichenkette(char * zeichenkette){ int status; status=scanf("%s",&zeichenkette); if(status==0 || (laengeZeichenkette(zeichenkette)>10)){ return -1; } return 0; } /*habs so probiert und über main(){ char zeichenkette1[10]; printf("%s",leseZeichenkette(zeichenkette1)); } in der c-Datei ausgeben wollen*/ |
|||||||||
|
||||||||||
11.01.2014, 08:32 | Auf diesen Beitrag antworten » | |||||||||
eulerscheZahl |
das & ist dazu da, die Speicheradresse eine Variablen zu bekommen, bei char* ist das nicht nötig, da zeichenkette dann bereits die Adresse ist. Gleichzeitig liest du hier einen string in Zeichenkette ein, bei dem du herausfinden sollst, ob er da überhaupt hineinpasst. Du brauchst in deiner Funktion eine zweite, größere Zeichenkette, in die du zunächst einliest und dann Zeichen für Zeichen umkopierst oder du liest gleich zeichenweise ein.
hast du die Funktionüberhaupt definiert?
leseZeichenkette gibt aber ein int zurück, keinen string |
|||||||||
11.01.2014, 09:49 | Auf diesen Beitrag antworten » | |||||||||
Gast | omg ich glaubs nicht, es lag am &-Operator, Danke! |
|||||||||
11.01.2014, 12:42 | Auf diesen Beitrag antworten » | |||||||||
hammala | aber leider seh ich grad, dass es nur zu 80% geht, ich lad mal die dateien hoch. gebe zum beispiel hallo ein als die erste zeichenkette, und dann zum beispiel asdjflajdfjalkdjfakds. Dann musst du die 2. Zeichenkette nochmal eingeben, zum Beispiel allo. Dann steht dran, dass es kein Suffix ist. (war noch Teil der Aufg.) Er guckt anscheinend, ob deine zweite Zeichenkette allo ein Suffix von asdjflajdfjalkdjfakds ist. |
|||||||||
Anzeige | ||||||||||
|
||||||||||
11.01.2014, 13:49 | Auf diesen Beitrag antworten » | |||||||||
eulerscheZahl | Was mir mehr Sorgen bereitet: Du liest immer noch eine Zeichenkette ich eine Variable ein, die möglicherweise nicht genug Speicherplatz dafür bietet:
entsprechend wird die Bedingung
nie erfüllt sein - bzw. in deinem Programm funktioniert es bei mir, aber die Funktion laengeZeichenkette kommt in einen Bereich, in dem eigentlich schon etwas ganz anderes steht. So würde ich es lösen:
|
|||||||||
11.01.2014, 16:07 | Auf diesen Beitrag antworten » | |||||||||
hammala | danke! mein problem hat sich jetzt auch gekärt |
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
Die Neuesten » |