将 atoi 与 char 一起使用
C语言中有没有办法将字符转换为字符串?
我正在尝试这样做:
char *array;
array[0] = '1';
int x = atoi(array);
printf("%d",x);
Is there a way of converting a char into a string in C?
I'm trying to do so like this:
char *array;
array[0] = '1';
int x = atoi(array);
printf("%d",x);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
如果您尝试将数字 char 转换为 int,只需使用字符算术减去 ASCII 代码:
If you're trying to convert a numerical char to an int, just use character arithmetic to subtract the ASCII code:
您需要为字符串分配内存,然后以 null 终止。
或者,更简单:
You need to allocate memory to the string, and then null terminate.
Or, easier:
怎么样:
How about:
您可以通过以下方式将字符转换为字符串:
字符串以 NUL 字符结尾,其值为 0。
You can convert a character to a string via the following:
Strings end with a NUL character, which has the value 0.
atoi 函数的声明是(它等待一个“字符串”):
如果您打算将它与单个字符一起使用,您将得到分段错误,因为该函数尝试读取内存直到找到'\0'!
例如试试这个:
A declaration of the atoi function is (it awaits a "string"):
If you are going to use it with a single character, you will get a segmentation fault, because the function tries to read the memory until it finds the '\0'!
E. g. try this: