Strings-Encoding
-
-
@Swordfish auf die maximalen Zeichen die man verwenden kann beim eingeben von line
-
Worauf greifst Du mit
line[0]
zu?
-
@Swordfish wo steht das
-
Nirgends. Die Frage bleibt dieselbe.
-
-
@Swordfish sagte in Strings-Encoding:
Worauf greifst Du mit
line[0]
zu?
-
@Swordfish auf den ersten Buchstabe oder die erste Zahl vom eingelesenen String
-
Gut. Auf den wievielten Buchstaben greifst Du also mit
line[MAXSL]
zu?
-
@Swordfish dort gebe ich nur an wie viele zeichen ich einlesen kann (darf)
-
@MyWinMyChoice Ich meine Zeile 33. Welchen Wert hat
MAXSL
?
-
@Swordfish ich hab mir gedacht dass ich das so auf str überschreibe (das was ich vorher eingegeben habe)
str = line[MAXSL];
-
-
@Swordfish 81 -> weil ich kann 80 zeichen eingeben und \0 ist das 81ste Zeichen
-
@MyWinMyChoice sagte in Strings-Encoding:
@Swordfish 81 -> weil ich kann 80 zeichen eingeben und \0 ist das 81ste Zeichen
Wenn
line[0]
, wie du sagst, das erste Zeichen ist, das wievielte Zeichen ist dannline[MAXSL]
, bzw.line[81]
?
-
@MyWinMyChoice weil ein string wird immer mit \0 abgeschlossen und \0 wird auch als zeichen bezeichnet
-
Aha.
MAXSL
ist also ein Symbol für 81. Mitline[0]
hast Du gesagt greifst Du auf das erste Zeichen zu. Auf welches Zeichen greifst Du dann mitline[81]
(wie in Zeile 33) zu?
-
@MyWinMyChoice sagte in Strings-Encoding:
@Swordfish ich hab mir gedacht dass ich das so auf str überschreibe (das was ich vorher eingegeben habe)
str = line[MAXSL];
str ist vom Typ
char
. Hat also Platz für ein einziges Zeichen.Mit dem []-Operator greifst du auf ein Element eines Arrays zu. Also niemals auf das ganze Array.
Im Übrigen kann man in C Arrays nicht mit dem = kopieren.
-
@MyWinMyChoice sagte in Strings-Encoding:
str = line[MAXSL]; swapCharsInString (&str, pos1, pos2);
Ich weiß nicht, was das soll.
Du nimmst besser einfachswapCharsInString (line, pos1, pos2); puts(line); /* Kontrollausgabe */
fgets hängt meistens auch noch ein '\n' an.
-
@Wutz das problem bei der sache ist nur dass unser lehrer geschrieben hat dass wir es dort unten mit str machen müssen