c - 在 C 语言中,如何将包含数字的字符串转换为 int 数组?

标签 c arrays string

在我的 C 程序中,我得到如下输入: 1,2,5,13,​​18 我怎样才能把这个字符串变成实际的数字? 我试过strtok()但它给了我段错误,我不知道为什么,也许你可以帮我解决这个问题?

最佳答案

您没有在这里给出您的代码,可能是您没有以正确的方式使用strtok()。请参阅文档并查看该页面中的示例,以了解有关 strtok() 使用的更多信息。

使用strtok()对字符串进行标记,然后 atoi()将字符串转换为数字。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main()
{
    char str[] = "1,2,5,13,18";
    char* pch;
    pch = strtok(str, ",");
    while(pch)
    {
        int x = atoi(pch);
        pch = strtok(NULL, ",");
        printf("%d\n", x);
    }

    return 0;
}

关于c - 在 C 语言中,如何将包含数字的字符串转换为 int 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41538736/

相关文章:

c++ - 使用 libevent 或 boost::asio 在单线程中建立多个 tcp 连接。这是可能的?

javascript - 如何使用 JS 对 HTML 元素数组进行排序

python - 在引号内使用引号

string - 原始字符串是否算作其自身的子字符串?

ruby - 来自文件的整数数组

c# - 您如何通过 WiFi 或 LAN 网络在不同的机器上验证 Windows 用户凭据?

c++ - 如何将标准输出重定向到 Windows 应用程序中的某个可见显示?

无法将 C 程序转换为 Ruby

javascript 使用大整数进行数组索引

c - 在 C 中用数组绘制轨迹图