c - 如何使用 strtok 添加数字?

标签 c string int token strtok

我正在尝试使用 strtok 在每个逗号之后将字符加在一起,但我不知道从哪里开始?存储 inputString 实际值的变量在哪里?托克+=托克;没有任何意义,但这就是我能想到的所有自动取款机。我还有一个将字符串转换为 int 的单独函数,我是否也将其添加到此处?假设该函数称为 char strint(void);

char addtotal (void)
{
    char inputString[LINE_LEN + EXTRA_SPACES];
    char *tok;
    char com[2] = ",";

    printf("Enter numbers to be tokenized using commas: \n");

    if (fgets(inputString, LINE_LEN + EXTRA_SPACES, stdin) == NULL)
    {
        printf("ERROR!\n\n");
        return EXIT_FAILURE;
    }

    if (inputString[strlen(inputString) - 1] != '\n')
    {
        printf("BUFFER OVERFLOW!\n\n");
        return EXIT_FAILURE;
    }

    inputString[strlen(inputString) - 1] = 0;

    tok = strtok(inputString, com);

    while(tok!=NULL)
    {

        printf("%s \n", tok);

        tok = strtok(NULL, com);

    }


}

最佳答案

我不完全确定您要在这里实现什么,但我假设您正在尝试在逗号分隔的整数之间进行一些算术运算。

int addtotal(void)
{
    int result;
    ...
    tok = strtok(inputString, com);

    for (result = 0; tok != NULL; )
    {
        result += atoi(tok);
        tok = strtok(NULL, com);
    }

    return result;
}

你可以这样做。我没有测试它,但它应该可以工作。

关于c - 如何使用 strtok 添加数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36386323/

相关文章:

c - 检索 Mac OS X 代理 IP 地址

c - 如何从CSV文件中删除名称

c - C中的完全动态字符串数组

c++ - boost::detail::atomic_count 线程安全吗?

c# - 整数求和布鲁斯,short += short 问题

java - 如何将从 TextField View 中获取的 String 转换为 int

c - 希尔排序的时间复杂度

c - 与一般内联相比,为什么 gnu_inline 属性对代码生成的影响如此之大?

C++ 字符串在 int 时不连接 char,即使它是 char

PHP字符串函数获取数组字符串值中字符串的特定行