Solved

CSV library for C language

Posted on 2008-10-23
4
1,263 Views
Last Modified: 2010-05-18
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
Comment
Question by:akohan
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 6

Expert Comment

by:RishadanPort
ID: 22792155
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
 

Author Comment

by:akohan
ID: 22792294

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
 
LVL 45

Accepted Solution

by:
sunnycoder earned 500 total points
ID: 22793365
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
 

Author Comment

by:akohan
ID: 22825686


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

Regards.
0

Featured Post

Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

If you have a server on collocation with the super-fast CPU, that doesn't mean that you get it running at full power. Here is a preamble. When doing inventory of Linux servers, that I'm administering, I've found that some of them are running on l…
Fine Tune your automatic Updates for Ubuntu / Debian
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…
The goal of this video is to provide viewers with basic examples to understand how to create, access, and change arrays in the C programming language.

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question