• ベストアンサー

文字列からの切り取り

11111,AAAA,hogehoge,abcde 上記のような文字列から1個目のカンマから2個目のカンマまで(AAAA)を 抜き出したいのですがどういう方法がありますでしょうか? できればソース付きでご教授ください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

#include <string.h> #define DELIMITER "," char str[] = "11111,AAAA,hogehoge,abcde"; char *token, *data[10]; int count = 0; token = strtok(str, DELIMITER); while (token != NULL){ data[count] = token; token = strtok(NULL, DELIMITER); count++; }

naruto0023
質問者

お礼

迅速な回答ありがとうございます 参考にさせていただきます!!

その他の回答 (1)

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.2

#include <string.h> char str[] = "11111,AAAA,hogehoge,abcde"; char ans[100]; void main(void) {  char buf[100];  char *sp,*ep;  strcpy(buf,str);  sp = strchr(buf,',');  if (!sp) exit(1); /* 1個もカンマが無い! */  ep = strchr(++sp,',');  if (!ep) exit(1); /* 2個目のカンマが無い! */  *ep = '\0';  strcpy(ans,sp);  printf("ans=[%s]\n",ans); }

naruto0023
質問者

お礼

迅速な回答ありがとうございます! 参考にさせていただきます!!

関連するQ&A

専門家に質問してみよう