|
OS windows2000 コンパイラ Visual C++ 6.0
"First.txt"ファイルに「125,34,0,45,aaa,980,ppp」という感じにカンマ区切りで数字と文字が並んでいます。
この場合だと、「34」と「0」という要素だけを取り出すにはどうすればよいでしょうか?
カンマで区切られた要素は、その時によって桁数や文字数が変わるので
最初のカンマを見つけ、その次の文字から、次のカンマが見つかるまでの部分を"youso1"に格納
二つ目のカンマを見つけ、その次の文字から次のカンマが見つかるまでの部分を"youso2"に格納
その二つの要素を fprintf(fp2,"%s\n%s",youso1,youso2);"
といった感じで"Second.txt"ファイルに表示する。
というような感じにしたく、とりあえず、下のソースでカンマだけを検索してみたんですが。
これ以上どうやったら良いのかわかりません。
そもそも下のソースが必要なのかもあやしい・・・・。
誰か力を貸してください。お願いします。
また、他にこんな方法を試してみれば?っていうような方法があれば
その方法も試してみるので、おしえてください。
main()
{
char buffer[256], string[256], youso1[50],youso2[50];
unsigned int i;
FILE *fp1, *fp2;
fp1 = fopen("First.txt","r");
fp2 = fopen("Second.txt","w");
while(fgets(buffer, 256, fp1))
{
for(strncmp(&buffer[i], "," , 1) == 0 )
{
strncpy(&string[0], &buffer[i], 1);
fprintf(fp2, "%s", string);
}
}
fclose(fp1);
fclose(fp2);
}
|