【问题标题】:troubleshoot in implement tokens in my C在我的 C 中解决实施令牌
【发布时间】:2023-01-09 22:02:23
【问题描述】:

我试图在我的 C 代码中实现令牌,但我一直收到错误。有人可以帮我解决这个问题吗?这是我的代码: #include <stdio.h> #include <字符串.h>

int main()
{
char str[] = "Hello, World!";
char *token = strtok(str, " ");

Copy code
while (token != NULL)
{
    printf("%s\n", token);
    token = strtok(NULL, " ");
}

return 0;
}

当我尝试编译它时,我收到的错误消息是“从 'char*' 到 'char' 的转换无效”。有人可以帮我了解导致此错误的原因以及如何解决吗?预先感谢您的任何帮助!

【问题讨论】:

  • 这回答了你的问题了吗? Invalid conversion from char* to char
  • 由于其他一些原因,您的代码无法编译。例如,Copy code 没有尾随分号,Copy 都不是 C 语言中的有效类型。请重新格式化您的问题,以确保可以复制代码、编译它并获得您得到的准确错误消息。包括确切的错误消息(文本副本)也很有帮助。
  • 删除Copy code后,它可以干净地编译和执行。

标签: c token


【解决方案1】:

您错过了声明 strtok 的标头。如果没有声明,编译器会假定该函数返回 int,因此会出现不兼容的转换错误。 看:

#include <stdio.h>
#include <string.h>     //** You missed this!

int main()
{
    char str[] = "Hello, World!";
    char *token = strtok(str, " ");

    while (token != NULL)
    {
        printf("%s
", token);
        token = strtok(NULL, " ");
    }

    return 0;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-09
    • 2015-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-24
    • 1970-01-01
    相关资源
    最近更新 更多