Problem bei zeiger
-
Das Up sieht folgendermaßen aus:
void Grossbuchstaben(char *txt)
{
...
}char *txt ist mein Text den ich von main habe!!
Dieser Text soll nun in Großbuchstaben umgewandelt werden und wieder in eine Datei geschrieben werden!
In die Datei schreiben ist kein Problem, aber irgendwie klappt das umwandeln in großbuchstaben nicht!!!
-
Der Code der da steht ist korrekt. Denk mal drüber nach.
-
Ich wollte damit andeuten , dass bitte jemand den Code (mit toupper) in die Funktion rein schreibt.
-
Da habe ich zum Spaß mal was kurzes:
while( (*txt++ = toupper(*txt)) != 0);
-
Da kommt bei mir immer eine Fehlermeldung: Der Vorgang written konnte nicht ausgefuehrt werden!!
-
Original erstellt von <Andreas>:
Ich wollte damit andeuten , dass bitte jemand den Code (mit toupper) in die Funktion rein schreibt.Du bist ja mal ein Scherzkeks. Wieso schreibst du dann bitte, "es klappt nicht" ?!
-
Weil ich auch schon einige Wege probiert habe und jetzt gerne wissen wollte , wie es denn nun richtig geht!!!!!!!!
-
Original erstellt von RainerSp:
**Da habe ich zum Spaß mal was kurzes:while( (*txt++ = toupper(*txt)) != 0);
**
Fast. Es ist leider nicht exakt festgelegt, wann das Inkrementieren des Zeigers durchgeführt wird. Außerdem will toupper einen Wert im Bereich von 'unsigned char' (oder EOF) nicht 'char'
Nicht viel länger aber kein Spaß ist zB:while(*txt = toupper((unsigned char)*txt)) ++txt;
-
Ich bekomme immer noch die eben genannte Fehlermeldung!!
Also , ich habe :
Funktionsprototyp:
void Grossbuchstaben(char *);und habe in der main:
char *txt="Hallo";
und uebergebe das an die Funktion
Grossbuchstaben(txt);
und die Funktion sieht dann so aus:
void Grossbuchstaben(char *txt)
{
FILE *pfile;
//...usw.//dann soll toupper kommen
//dann schreib ich es in eine Datei
}Ich bekomme aber immer diese Fehlermeldung: "Der Vorgang written konnte nicht ausgefuehrt werden"
-
"Hallo"
ist total konstant! das kannst du nicht ändern.
und wenn du versuchst es zu ändern - dann gibts nen absturz!lies mal bitte ein lehrbuch oder n paar gute tutorials!!
-
am besten postetest du gleich den ganzen code von dem programm, egal ob er funzt oder nicht. dann hättest du gleich erfahren, dass du eine const ändern willst.
#include <conio.h> ... char text[TEXT_LAENGE]; ... printf("text für \"toupper\" eingeben: ");gets(text); Grossbuchstaben(text); ...
-
kleiner Tipp:
statt gets verwendet man fgets - das ist gesünder
-
wie lese ich denn mit fgets von der tastatur? kein plan ...
-
Original erstellt von Dill:
wie lese ich denn mit fgets von der tastatur?fgets(buffer,size,stdin);