我有一个..txt/..csv文件,该文件存储名称及其密码,如下所示:
google ,9*+=<=2= google ;5290=+:
每条产业线都是一个独立的实体。我试图制作一个以诱导实体为元素的数组。我试图使用strtok和\n作为分隔符。但是它抛出了下面的错误。
test.c:11:21:错误:无效的初始化器char line100= strtok(缓冲区,"\n") ; ^~~~~~
我哪里出问题了?以下是特定代码的完整代码块:-
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);发布于 2022-06-25 11:31:05
可以使用带大括号的列表初始化数组。所以这个声明
char line[100]= strtok(buffer,"\n") ;是不正确的。此外,数组的元素类型为char,而初始化器表达式的类型为char *。
例如,你可以写
char *line = strtok(buffer,"\n") ;
puts( line );这是一个演示程序。
#include <stdio.h>
#include <string.h>
int main( void )
{
char s[] = "Hello\nWOrld!";
char *p = strtok( s, "\n" );
puts( p );
}程序输出是
Hellohttps://stackoverflow.com/questions/72753418
复制相似问题