• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1298
  • Last Modified:

CSV library for C language

Hello group,

I will appreciate it if sombody could introduce me a CSV library to handle CSV data in C programming.

I'm about to write a code (have a very short time) but need to get it done as soon as possible so any library that would help me could be a useful thing.

Thanks,
0
akohan
Asked:
akohan
  • 2
1 Solution
 
RishadanPortCommented:
Can you give us a sample of your input?

Why don't just the C "strtok()" function, and choose the delimiter as a comma  (',')?

http://www.elook.org/programming/c/strtok.html
0
 
akohanAuthor Commented:

Thanks for your response. Following is what I'm expecting or even worse. In following I need to access to each column but I only will extract three of them like group, id and domain list.

Any idea?

Thanks.



"Group","Name","ID","lable","domain","route","Query Field","Mapping","Usage","note","threshold"
"2","tto_2","1","TTO","http://www.test-online.com http://test-online.jp https://www.test-online.pl https://tto-online.net","/","","<91>S<88>ø<90><94><82>ð<8e>æ<93>¾
%*?%%uri%%
 
PATH_APP:?%%uri%%
prdlist.aspx<8f><89><8a>ú<89>»
%%dir%%/prdlist.aspx%*
 
PATH_SET:%%dir%%/prdlist.aspx
prdlist_best.aspx<8f><89><8a>ú<89>»
%%dir%%/prdlist_best.aspx%*
 
PATH_SET:%%dir%%/prdlist_best.aspx
product.aspx<8f><89><8a>ú<89>»
%%dir%%/product.aspx%*
 
PATH_SET:%%dir%%/product.aspx
prdlist.aspx->sid<95>t<97>^
%%dir%%/prdlist.aspx%*
QUERY:sid=%%value%%
PATH_APP:?sid=%%value%%
prdlist.aspx->mcd<95>t<97>^
%%dir%%/prdlist.aspx%*
QUERY:mcd=%%value%%
PATH_APP:&mcd=%%value%%
prdlist_best.aspx->sid<95>t<97>^
%%dir%%/prdlist_best.aspx%*
QUERY:sid=%%value%%
PATH_APP:?sid=%%value%%
prdlist_best.aspx->mcd<95>t<97>^
%%dir%%/prdlist_best.aspx%*
QUERY:mcd=%%value%%
PATH_APP:&mcd=%%value%%
product.aspx->id<95>t<97>^
%%dir%%/product.aspx%*
QUERY:id=%%value%%
PATH_APP:?id=%%value%%
product.aspx->mcd<95>t<97>^
%%dir%%/product.aspx%*
QUERY:mcd=%%value%%
PATH_APP:&mcd=%%value%%
","RTMT","0","0"
"2","tto_2","3","www.bee.com","http://www.bee.net http://bee.org https://www.bee.gov https://bee.jp","/test/","","<91>S<88>ø<90><94><82>ð<8e>æ<93>¾
%*?%%url%%

Open in new window

0
 
sunnycoderCommented:
http://mac.softpedia.com/get/Developer-Tools/ccsv.shtml
Is for MacOSX so should be easy to use on *nix

You can also write your own functions with ease
e.g.


char * get_nth_col (char * input, int col)
{
     int n = 0; char * ret = NULL; char * res = NULL; //add check for col<=0 & input == NULL
     char * temp = strdup(input);
     char * token = strtok (temp, ",");
     while (token)
     {
           n++;
           if (n==col)
           {
                 ret = token;
                 break;
           }
            token = strtok(NULL, ",");
     }
      if (ret)
            res = strdup(ret);
      free(temp);
      return res; //note this memory needs to be freed in the calling function
}

Open in new window

0
 
akohanAuthor Commented:


Thanks to all for your help. Also, I ran into a good library on sourceforge website called "libcsv".

Regards.
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now