0
Compiler beschwert sich über inkompatible Variablentypen, die im Array gespeichert sind. Das passiert, wenn ich versuche, Zeichen von argv [1] in Großbuchstaben zu konvertieren (first for loop). Ein ähnlicher Fehler tritt in der zweiten for-Schleife auf, , wo ich Zeichen in ihr ASCII-Äquivalent umwandeln und davon 64 subtrahieren möchte. Was soll?inkompatible Konvertierungsfehler in C
//converts chars in argv[1] to uppercase letters
for (int i = 0, n = strlen(argv[1]); i < n; i++){
argv[i] = toupper(argv[i]);
}
//converts chars in argv[1] to numbers
int key[strlen(argv[1])];
for (int i = 0, n = strlen(argv[1]); i<n; i++){
key[i]= argv[i]-64;
Fehler mesagges:
incompatible integer to pointer conversion assigning to 'string' (aka 'char *') from 'int' [-Werror,-Wint-conversion]
und
incompatible pointer to integer conversion assigning to 'int' from 'string' (aka 'char *') [-Werror,-Wint-conversion]
'toupper()' wandelt ein einzelnes 'char' bedeuten scheint, kein String . Schlage 'argv [1] [i] = toupper ((vorzeichenloses Zeichen) argv [1] [i]); ' – chux
dar. Argv [i] ist ein Zeiger, du willst argv [1] [i]. –
Mögliches Duplikat von [toupper-Funktion] (http://stackoverflow.com/questions/15057899/toupper-function) –