Status_access_violation
-
Übrigens,
kann man in deine Zeile "24" auch etwas einbauen,
das falls es bei einer Wortlänge über 7 Stück gibt,
das er die Anzahl dann halt irgendwie am Schluss unten hinschreibt?
-
Das hier:
char *sWortlaenge; /* ... */ sWortlaenge[1] = strtok(NULL, ". ,\0\n");
ist problematisch. Das gleiche gilt für das hier:
char *point; char lang = *point; /* ... */ /* point ist hier immer noch nicht initialisiert */ strcpy(point, sWortlaenge);
-
Ich bin halt leider noch etwas im "Anfängerstadium"
und lerne alles gerade noch kennen.^^
-
Phenny schrieb:
Übrigens,
kann man in deine Zeile "24" auch etwas einbauen,
das falls es bei einer Wortlänge über 7 Stück gibt,
das er die Anzahl dann halt irgendwie am Schluss unten hinschreibt?Ja, unter die while-Schleife:
if( lauf>7 ) printf("Mehr als 7, nämlich: %d\n",lauf);
-
Danke dir recht herzlich
*keks geb*
-
Phenny schrieb:
gets(x); //Eingabe des zu bearbeitenden Textes
Dein 1.Versuch war schon besser, da fgets mit Bereichsüberprüfung arbeitet, also nimm ihn halt wieder:
fgets(sString, 256, stdin);
-
Ein bisschen anders dachte ich eigentlich.
Und zwar halt z.B. so (ist echt schwer umzusetzen)
1 2 3 4 5 6 7 8 9 10
-----------------------------
* * * *
* * *
* *
*
-----------------------------
3 4ich weiß, dass klingt echt dämlich
-
Das Problem mit fgets bei mir ist, dass
er mir dann wieder mit den doofen Pointern to Integer kommt und dem
gewusel. Und ich hab so meine Probleme mit den Pointern^^
-
Phenny schrieb:
Und ich hab so meine Probleme mit den Pointern^^
Das geht jedem Anfänger so.
Also dann:char x[256]; ... fgets(x,sizeof x,stdin); ...
-
Oh mein Gott,
warum bin ich bloß nicht auf "sizeof" gekommen?
Ich glaube nämlich, dass ich das schon einmal benutzt habe.Gibt es auch eine so simple Lösung für das andere Problem?
-
Was für ein anderes Problem?
-
Phenny schrieb:
Ein bisschen anders dachte ich eigentlich.
Und zwar halt z.B. so (ist echt schwer umzusetzen)
1 2 3 4 5 6 7 8 9 10
-----------------------------
* * * *
* * *
* *
*
-----------------------------
3 4 //Zeigt an wieviele Wörter die
//entsprechende Anzahl an Buchstaben
//haben und zählt sie auf, falls
//es sonst zuviele Sternchen werdenich weiß, dass klingt echt dämlich
Das Problem :p
-
Phenny schrieb:
-----------------------------
3 4 //Zeigt an wieviele Wörter die
//entsprechende Anzahl an Buchstaben
//haben und zählt sie auf, falls
//es sonst zuviele Sternchen werdenchar strtmp[10]; ... for(i=0;i<MAXW;++i) printf("%3s",l[i]>7?_itoa(l[i],strtmp,10):"");
wobei _itoa kein ANSI C mehr ist.
-
Es gibt aber eine Alternative Funktion die ANSI C ist.
Mitsprintf(strtmp,"%d",l[i])
geht das auch, oder wers sicher mag kann auch snprintf verwenden.
-
Ja aber, wie mache ich das dann, wenn _itoa kein Ansi-C mehr ist?
Der Compiler erkennt das ja dann nicht mehr.
-
Ich habe auch schon probiert, sprintf bzw. snprintf in diese Zeile umzubauen,
hat er aber dann andauernd Probleme mit dem Pointer. . .
-
Phenny schrieb:
Ich habe auch schon probiert, sprintf bzw. snprintf in diese Zeile umzubauen,
hat er aber dann andauernd Probleme mit dem Pointer. . .Wenn du MS-VC++ verwendest, ist _itoa definiert und du kannst es verwenden.
itoa stammt noch aus seligen K&R Zeiten und hat es damals nicht in den ANSI Standard geschafft.
Ansonsten bleiben nur längere Konstrukte übrig, wie(sprintf(strtmp,"%d",l[i]),strtmp)
-
Also, ich benütze NetBeans und den Compiler Cygwin...
und der kennt diese Funktion leider nicht.
-
Ich habe es nun wie in deinem Beispiel gemacht, und es Funktioniert
hervorragend.
Deshalb muss ich nocheinmal sagen wie dankbar ich euch
bin! Also, recht herzlichen dank euch beiden!