m0_62267751 2021-12-02 10:51 采纳率: 85.7%
浏览 40
已结题

C语言文件功能读取csv文件,但是读出来以后有空行,原文本里没有,怎么把空行删除

img

img


#include<stdio.h>
#include<string.h>
int main(){
FILE *fp = NULL;
    char *line,*record;
    char buffer[1024];
    if((fp = fopen("menu.csv", "r")) != NULL)
    {
        fseek(fp, 20L, SEEK_SET);  //定位到第二行,每个英文字符大小为1
        char delims[] = ",";
        char *result = NULL;
        int j = 0;
        while ((line = fgets(buffer, sizeof(buffer), fp))!=NULL)//当没有读取到文件末尾时循环继续
        {
            record = strtok(buffer, ",");
            while (record != NULL)//读取每一行的数据
            {
                if (strcmp(record, "Ps") == 0)//当读取到Ps那一行时,不再继续读取
                    return 0;
                printf("%s ", record);//将读取到的每一个数据打印出来
                if (j == 9)  //只需读取前9列
                    break;
                record = strtok(NULL, ",");
                j++;
            }
            printf("\n");
            j = 0;
 
        }
        fclose(fp);
        fp = NULL;
    }

}
  • 写回答

1条回答 默认 最新

  • CSDN专家-Time 2021-12-02 10:54
    关注

    你自己打的回车啊...

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月10日
  • 已采纳回答 12月2日
  • 创建了问题 12月2日