c - 如何在 C 中一起使用 getline 和 strtok?

标签 c

这是我第一次在这里提问,所以我希望我做对了!一段时间以来,我一直在尝试让 getline 和 strtok 一起工作,以便从文件中读取文本并将其分解为单词。本质上,文本文件输入是一篇文章,我想稍后单独处理每个单词。我遇到的问题是一个常量“赋值从整数生成指针而不进行强制转换”;我已经尝试了我能想到的一切。这是我现在的代码:

int nbytes = 100;
char *buffer;
char *token;
buffer = (char *) malloc(nbytes + 1);
getline(&buffer,&nbytes,file);
token = strtok(&buffer, " ");

我觉得这是一个我忽略的非常简单的问题。感谢您的阅读和帮助!

最佳答案

标准 C(就其本身而言)没有定义任何名为 getline 的东西.要从文件中读取一行,您通常使用 fgets .

您描述的错误听起来好像您没有strtok 的原型(prototype)在范围内,因此编译器将其视为返回默认类型 (int)。您通常会通过添加 #include <string.h> 来消除它靠近文件顶部的某处。

关于c - 如何在 C 中一起使用 getline 和 strtok?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5447419/

相关文章:

c - sprintf 精度的限制

c++ - 为 TCPClient 连接选择特定的以太网设备

c - Xcode 找不到已安装的库

我可以使用 Valgrind 查找静态内存错误吗?

c - 寻找一个代码生成器来从抽象文档描述创建 XML 读入例程

c++ - __func__ 外部函数定义

c - 我怎样才能检查我所有的初始化函数都被调用了?

C - 从最后一行读取文件问题

c - 程序在 fork /执行到后台后需要回车

c - 无法通过 RabbitMQ C master 发送图像