Solved

CSV library for C language

Posted on 2008-10-23
4
1,254 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
  • 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

Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

Question has a verified solution.

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

Have you ever been frustrated by having to click seven times in order to retrieve a small bit of information from the web, always the same seven clicks, scrolling down and down until you reach your target? When you know the benefits of the command l…
Join Greg Farro and Ethan Banks from Packet Pushers (http://packetpushers.net/podcast/podcasts/pq-show-93-smart-network-monitoring-paessler-sponsored/) and Greg Ross from Paessler (https://www.paessler.com/prtg) for a discussion about smart network …
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
The goal of this video is to provide viewers with basic examples to understand how to use strings and some functions related to them in the C programming language.

680 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