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.
MAXSList 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