Je voudrais convertir une chaîne en int
et en appelant la fonction de main
. Où le premier caractère est une lettre déclarant la base du nombre et le reste des caractères dans la chaîne sont le nombre. Je suis en mesure de faire fonctionner la fonction séparément, mais lorsque vous utilisez la fonction main
pour l'appeler, elle n'imprime pas les valeurs correctes.C programme appelant une chaîne à la fonction int, je suis incapable de convertir l'entrée
Exemple d'entrée utilisateur à l'aide binaire:
b1000
b1010
résultat
devrait être:
b
b
1000
1010
Voici le code:
#include <stdio.h>
#include <string.h>
#include <math.h>
int str_to_int(inputbase) {
char num1[50];
num1[50] = inputbase;
char numcpy1[sizeof(num1) - 1];
int i, len1;
int result1 = 0;
//printf("String: ");
//gets(num1);
//Access first character for base
printf("%c \n", num1[0]);
//Remove first character for number1 and number 2
if (strlen(num1) > 0) {
strcpy(numcpy1, &(num1[1]));
} else {
strcpy(numcpy1, num1);
}
len1 = strlen(numcpy1);
//Turn remaining string characters into an int
for (i = 0; i < len1; i++) {
result1 = result1 * 10 + (numcpy1[i] - '0');
}
printf("%d \n", result1);
return result1;
}
int main() {
char *number1[50], *number2[50];
int one, two;
printf("\nAsk numbers: \n");
gets(number1);
gets(number2);
one = str_to_int(number1);
two = str_to_int(number2);
printf("\nVerifying...\n");
printf("%d\n", one);
printf("%d\n", two);
return 0;
}
Est-ce que 'int str_to_int (inputbase)' compiler sur votre machine? Quel compilateur utilisez-vous? – chux
Cela ressemble beaucoup à une question de devoirs pour moi. – ndim
J'utilise un compilateur gcc. La fonction int str_to_int (inputbase) ne compile pas – vibeon7