2010-05-26 38 views
6

有沒有方法將char轉換爲C中的字符串?與字符一起使用atoi

我想這樣做是這樣的:

char *array; 

    array[0] = '1'; 

    int x = atoi(array); 

    printf("%d",x); 

回答

3

到底怎麼約:

char arr[] = "X"; 
    int x; 
    arr[0] = '9'; 
    x = atoi(arr); 
    printf("%d",x); 
5

您需要分配內存的字符串,然後空終止。

char *array; 

array = malloc(2); 
array[0] = '1'; 
array[1] = '\0'; 

int x = atoi(array); 

printf("%d",x); 

或者,更容易:

char array[10]; 

array = "1"; 

int x = atoi(array); 

printf("%d",x); 
5

如果你想一個數字字符轉換爲int,只是用文字算術減去的ASCII碼:

int x = myChar - '0'; 
printf("%d\n", x); 
20
char c = '1'; 
int x = c - '0'; 
printf("%d",x); 
+0

簡單的答案,而無需使用任何中間緩衝區 – 2015-10-07 22:41:42

2

您可以通過以下方式將字符轉換爲字符串:

char string[2]; 
string[0] = '1'; 
string[1] = 0; 

字符串用空字符,其值爲0。