Strings-Encoding
-
@MyWinMyChoice sagte in Strings-Encoding:
str = line[MAXSL];
Das ist undefiniertes Verhalten, da es das Element MAXSL in line nicht gibt.
(Der Index fängt bei 0 an)Schreib doch erstmal eine Funktion, die Groß/Kleinbuchstaben vertauscht.
Dazu wirst du sicher eine Schleife brauchen.Viel Einfacher ist jedoch die zweite Aufgabe.
Keine Schleife, eine Variable.
-
@MyWinMyChoice sagte in Strings-Encoding:
str = line[MAXSL]; swapCharsInString (&str, pos1, pos2);
Wie viele Elemente hat
line
. Welche Adresse bekommst Du mit&str
?
-
@SeppJ Es ist nur das Problem dass ich nicht weiss wie ich die Selbstlaute aus den String herausbekomme
-
@MyWinMyChoice sagte in Strings-Encoding:
Es ist nur das Problem dass ich nicht weiss wie ich die Selbstlaute aus den String herausbekomme
Dann mach erstmal den Rest.
-
@Swordfish line hat 80 zeichen die man eingeben kann und auf danach schreibe ich line auf str
-
-
@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]
?