首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用strtok作为元素使用每一行?

如何使用strtok作为元素使用每一行?
EN

Stack Overflow用户
提问于 2022-06-25 11:17:50
回答 1查看 37关注 0票数 0

我有一个..txt/..csv文件,该文件存储名称及其密码,如下所示:

google ,9*+=<=2= google ;5290=+:

每条产业线都是一个独立的实体。我试图制作一个以诱导实体为元素的数组。我试图使用strtok和\n作为分隔符。但是它抛出了下面的错误。

test.c:11:21:错误:无效的初始化器char line100= strtok(缓冲区,"\n") ; ^~~~~~

我哪里出问题了?以下是特定代码的完整代码块:-

代码语言:javascript
复制
FILE* fp;
    fp=fopen("storeroom.csv","r");
    char buffer[100];
    rewind(fp);
    fread(buffer, sizeof(buffer), 1, fp);
    fclose(fp);
    char line[100]= strtok(buffer,"\n") ;
    printf("%s",line);
EN

回答 1

Stack Overflow用户

发布于 2022-06-25 11:31:05

可以使用带大括号的列表初始化数组。所以这个声明

代码语言:javascript
复制
char line[100]= strtok(buffer,"\n") ;

是不正确的。此外,数组的元素类型为char,而初始化器表达式的类型为char *

例如,你可以写

代码语言:javascript
复制
char *line = strtok(buffer,"\n") ;
puts( line );

这是一个演示程序。

代码语言:javascript
复制
#include <stdio.h>
#include <string.h>

int main( void )
{
    char s[] = "Hello\nWOrld!";
    char *p = strtok( s, "\n" );

    puts( p );
}

程序输出是

代码语言:javascript
复制
Hello
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72753418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档