テキストファイルより文字を抜き出す
Posted: 2008年11月07日(金) 19:40
テキストファイルから文字を抜き出したいと思っています。
ちなみにテキストファイルの中身ですが
P_C="k123"+"CMOK"
P_M=MAX("MDMC","MKOM")
という感じで式の左辺とセミコロンでくくられた文字を抽出したいのですが
strchr,strtokやstrcpyなど文字列関数を使ってやっているのですが
うまくゆきません。どなたかアドバイスいただけたらと思います。
よろしくお願いします。
while (NULL != fgets(buf, sizeof buf,ft)){
//strcpy(cdmy,strtok(buf,"="));
// puts(cdmy);
//fprintf(fh, "#define %s output[obj[/url].outputs + 2].Analog\n", cdmy);
//for (i = 0; i < MAXFIELD; i++) {
tp = strtok(buf, "\"");
while( tp != NULL){
tp = strtok(NULL,"\"");
if(tp != NULL){
fprintf(fh, "#define %s output[obj[/url].outputs + 2].Analog\n", tp);
}
}
//if (tp != NULL){
// strcpy(cdmy, strtok(p, "\""));
// fprintf(fh, "#define %s output[obj[/url].outputs + 2].Analog\n",cdmy);
// }else{
// break;
// }
// }
//strcpy(cdmy, strtok(p, '"'));
//puts(cdmy);
//tp = strtok(NULL, "=\"");
//sscanf(b, "%7s%*[^\"]\"%[^\"]\"%*[^\"]\"%[^\"]", v);
//fprintf(fh, "#define %s output[obj[/url].outputs + 2].Analog\n", tp);
}
fclose(fh);
fclose(ft);
return 0;
}
ちなみにテキストファイルの中身ですが
P_C="k123"+"CMOK"
P_M=MAX("MDMC","MKOM")
という感じで式の左辺とセミコロンでくくられた文字を抽出したいのですが
strchr,strtokやstrcpyなど文字列関数を使ってやっているのですが
うまくゆきません。どなたかアドバイスいただけたらと思います。
よろしくお願いします。
while (NULL != fgets(buf, sizeof buf,ft)){
//strcpy(cdmy,strtok(buf,"="));
// puts(cdmy);
//fprintf(fh, "#define %s output[obj[/url].outputs + 2].Analog\n", cdmy);
//for (i = 0; i < MAXFIELD; i++) {
tp = strtok(buf, "\"");
while( tp != NULL){
tp = strtok(NULL,"\"");
if(tp != NULL){
fprintf(fh, "#define %s output[obj[/url].outputs + 2].Analog\n", tp);
}
}
//if (tp != NULL){
// strcpy(cdmy, strtok(p, "\""));
// fprintf(fh, "#define %s output[obj[/url].outputs + 2].Analog\n",cdmy);
// }else{
// break;
// }
// }
//strcpy(cdmy, strtok(p, '"'));
//puts(cdmy);
//tp = strtok(NULL, "=\"");
//sscanf(b, "%7s%*[^\"]\"%[^\"]\"%*[^\"]\"%[^\"]", v);
//fprintf(fh, "#define %s output[obj[/url].outputs + 2].Analog\n", tp);
}
fclose(fh);
fclose(ft);
return 0;
}