2010-05-26 33 views
6

Có cách nào để chuyển đổi một char thành một chuỗi trong C?Sử dụng atoi với char

Tôi đang cố gắng để làm như vậy như thế này:

char *array; 

    array[0] = '1'; 

    int x = atoi(array); 

    printf("%d",x); 

Trả lời

3

Làm thế nào về:

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

Bạn cần phải phân bổ bộ nhớ để chuỗi, và sau đó là null chấm dứt.

char *array; 

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

int x = atoi(array); 

printf("%d",x); 

Hoặc, dễ dàng hơn:

char array[10]; 

array = "1"; 

int x = atoi(array); 

printf("%d",x); 
5

Nếu bạn đang cố gắng để chuyển đổi một char số cho một int, chỉ cần sử dụng nhân vật số học trừ mã ASCII:

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

câu trả lời đơn giản nhất mà không cần phải sử dụng bất kỳ bộ đệm trung gian –

2

Bạn có thể chuyển đổi một ký tự thành chuỗi thông qua:

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

Strings kết thúc với một nhân vật NUL, trong đó có giá trị 0.

Các vấn đề liên quan