如何在c中打印csv文件的数据?

时间:2017-05-04 08:54:03

标签: c csv printf

我尝试过whis方法,但它不起作用有帮助吗? 还有一件事:我需要对csv文件进行一些搜索..当一个搜索建立的单词返回时我需要返回它显示的行。 (抱歉我的英语水平很低) 我的代码在这里:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#define ROW 20
#define LEN 60

int main(int argc, char *argv[])
{
char  search = 'a';
int choice = 0, counter = 0, row = 0, col = 0, i = 0, j = 0;
FILE *data;
data = fopen(argv[2], "r");
if (data == NULL){
    printf("\n file opening failed ");
    return 1;
}
char c;
while ((c = fgetc(data)) != EOF){
    printf("%s", c);
}

2 个答案:

答案 0 :(得分:2)

 printf("%s", c);

应改为

 printf("%c", c);

因为c是char

答案 1 :(得分:0)

我认为最好改变处理文件处理的方式。使用fgets()从文件中读取一行。

   char buffer[255] = {0};
   data = fopen (argv[2], "r");
   if (data == NULL)
   {
       printf("\n Failed to open file!");
   }
   else {
     while(( fgets( buffer, 255, data )) != NULL)
     {
        puts(buffer);
        /* Some processing */
     }
     fclose (data);
   }
   return 0;

从csv文件中缓冲一行后,可以使用strtok()从行中获取特定值。