1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
#include <stdio.h> #include <string.h> int main() { char aaavalue[1024] = {"ABC,DEFG,Aabcdef,gaAdD,AW"}; char bbbvalue[1024]; char cccvalue[1024]; char *argvalue[5]; char *pos; strcpy(bbbvalue,aaavalue); //コピーしておく strcpy(cccvalue,aaavalue); //コピーしておく strtok(aaavalue,","); printf("%s\n", aaavalue); //そのまま出力。。したつもり。。 printf("\n"); printf("%s\n", bbbvalue); //置換前そのまま出力 printf("\n"); while ((pos = strchr(bbbvalue, ','))!=NULL) *pos = '\n'; printf("%s\n", bbbvalue); //置換して出力 printf("\n"); int i = 0; argvalue[i] = strtok(cccvalue, ","); if (argvalue[i] != NULL) printf("%s\n", argvalue[i]); while (argvalue[i] != NULL) { argvalue[++i] = strtok(NULL, ","); if (argvalue[i] != NULL) printf("%s\n", argvalue[i]); } return 0; } |
実行結果
ABC
ABC,DEFG,Aabcdef,gaAdD,AW
ABC
DEFG
Aabcdef
gaAdD
AWABC
DEFG
Aabcdef
gaAdD
AW
「strtok」すると。。全部出力されないのかようっ!