[英]Parsing a CSV file in C
I have the following code below: 我下面有以下代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
int lendata;
printf("Content-type:text/html\n\n");
printf("<html><body>");
lendata = atoi(getenv("CONTENT_LENGTH"));
char *buf = malloc(lendata+1);
int i=0;
char *data;
while((data=fgets(buf,lendata+1,stdin)) != NULL){
char *lines[i];
lines[i] = strdup(data);
printf("%s<br>",lines[i]);
i++;
}
printf("%d, %d",lendata,i);
free(buf);
printf("</body></html>");
return 0;
}
I am trying to parse a *.csv file with different data types inside (ie character strings, intger ). 我试图解析一个* .csv文件,里面有不同的数据类型(例如,字符串,intger)。 How can I process each line in the file? 如何处理文件中的每一行? Thanks! 谢谢!
Maybe this will be better.... 也许会更好...
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
int lendata;
printf("Content-type:text/html\n\n");
printf("<html><body>");
lendata = atoi(getenv("CONTENT_LENGTH"));
char *buf = malloc(lendata+1);
int i=0;
char *data;
while((data=fgets(buf,lendata+1,stdin)) != NULL){
/*char *lines[i]; */
/* lines[i] = strdup(data); */
printf("%s<br>",data);
i++;
}
printf("%d, %d",lendata,i);
free(buf);
printf("</body></html>");
return 0;
}
sscanf call returns number of entries that were matched. sscanf调用返回匹配的条目数。
numentries = sscanf(line,"%s,%s,%s,%s,%s",ent1,ent2,ent3,ent4,ent5);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.