我想读取一个文本文件,每行都有以下格式:
char*,char*,int
例如:
aaaaa,dfdsd,23
bbbasdaa,ddd,100
我想使用fscanf从文件中读取一行,并自动将该行解析为变量string1、string2和intA。
正确的做法是什么呢?谢谢。
char string1[20];
char string1[20];
int intA;
fscanf(file, "%19[^,],%19[^,],%d\n", string1, string2, &intA);
%[^,]
读取非逗号字符的字符串,并在遇到第一个逗号时停止。 19
是最多可读取的字符数(假设缓冲区大小为20),以防止缓冲区溢出。
char **line=NULL;
int n=0,len;
FILE *f=fopen("...","r");
if((len=getline(&line,&n,f)>0)
{
...
}
free(line);
fclose(f);
字符串,字符串,整数
:这些行实际上并不包含内存地址,对吧? - Fred Foo