zu konvertieren Mein aktuelles Problem ist es, eine unbekannte Anzahl von ganzen Zahlen aus stdin
einzulesen. Mein Ansatz ist es, mit gets() die gesamte Zeile als char-Array zu speichern (char str[50]
). Ich versuche, das Char-Array zu analysieren und jedes "String int" in eine ganze Zahl zu konvertieren und in einem int-Array zu speichern. Ich versuchte mit strtol (nums[i]=strtol(A, &endptr, 10)
wo A
ist die Char-Array. Endptr scheint jedoch nichts zu speichern, wenn der Rest der A auch Zahlen sind. Zum Beispiel, wenn A ist "8 Hallo" Endptr = Hallo, aber wenn A ist " nichts 8 6 4" endptr ist.Beste Möglichkeit, Array von Strings zu Array von Int in C
gibt es einen besseren Ansatz? ist das möglich mit atoi
? Jede Hilfe sehr dankbar! Vielen Dank!
char A[1000];
long nums[1000];
printf("Enter integers: ");
gets(A);
char *endptr;
int i=0;
while(endptr!=A){
nums[i]=strtol(A, &endptr, 10);
i++;
}
Iterieren Sie über die Arrays und konvertieren Sie jede Zahl. Was ist das Problem? Zeigen Sie Ihren Code. Dies ist kein Kodierungsdienst. – Olaf
Vage Frage ohne Code. Kannst du bitte einen Code posten? –
Wenn A = "12 35 78" wie würde ich über das Char-Array iterieren gehen? Ich könnte es in "1 2 3 5 7 8" umwandeln, aber das ist nicht was ich brauche. –