在c中将字符串元素转换为int数组元素

标签 c

我需要在项目中将 char 格式的字符串元素转换为 int 格式数组。 我使用以下函数,但编译后出现错误:

a[k] = atoi (str1[k]);
a[k] = strtol(str1[k],NULL,16);

K 是一个计数器。

错误:#167:“char”类型的参数与“const char *restrict”类型的参数不兼容

最佳答案

strtolatoi将 char 数组的地址(然后是 char*)作为转换的输入(一个整数可以在多个字符上编码)。 正确的使用方法:

a[k] = atoi (&str1[k]);
a[k] = strtol(&str1[k],NULL,16);

关于在c中将字符串元素转换为int数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18976670/

相关文章:

c - 如何防止在 fgets 中回显一些字符

c - C 中的菱形打印,用户输入的正奇数值小于 20

c - 如何在特定位置分配内存

从 C (double)、GAS 调用 ASM x64 函数

c - 使用 memset 初始化浮点型数组

c - 如何访问 C 中数组元素的个数?

c - 为什么子窗口和所属窗口之间接收 WM_DESTROY 的顺序不同?

c - 如何在C、linux中为FTP客户端启动主动模式

c - C 中的程序在 OS X 上有问题,但在 Windows 上没有

c - 这个字符应该是无符号的吗?