1

我有以下代码:

#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;

}

我正在尝试解析内部具有不同数据类型的 *.csv 文件(即字符串, intger )。如何处理文件中的每一行?谢谢!

4

1 回答 1

1

也许这样会更好......

#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 调用返回匹配的条目数。

numentries = sscanf(line,"%s,%s,%s,%s,%s",ent1,ent2,ent3,ent4,ent5);
于 2013-08-16T03:12:57.763 回答