一文字ずつ取り出して判別し、フラグで管理すれば、出来るかと思い、現在は一文字ずつ取り出すプログラムは作れたのですが、これを塊ごとで管理したいのですが、どうすればいいのかが分かりません。
取り出した、塊は比較して条件判断に使えるようにしたいと思っています。
ご教授願えないでしょうか?
=====出力結果======
あああabc
-123456
fafa
dfafa
===================
=====ファイル名:test_1.txt======
[あああabc][-123456]
[fafa]
[dfafa]
=====================================
=====ファイル名:web.c=============
#include <stdio.h>
#include <stdlib.h>
#define READ_SET 3
#define READ_START 2
#define READ_END 1
void FileOpen(FILE *fin, FILE *fout); //ファイル関係の処理する所
int main()
{
FILE *fin, *fout;
char ss[256], name[256];
printf("作成ファイル名を入力してください。");
scanf("%s", name);
if( (fin = fopen("test_1.txt", "r")) == NULL )
{
printf("ファイルが見つかりません。");
exit(1); //return ; でもいいのかな?
}
if( (fout = fopen(name, "w")) == NULL )
{
printf("ファイルへの書き出しに失敗しました。");
exit(1);
}
FileOpen(fin, fout); //ファイル関係の処理する所
fclose(fin);
fclose(fout);
return 0;
}
void FileOpen(FILE *fin, FILE *fout)
{
int Read_1 = READ_END; //読み込み設定
int a;
while ( feof(fin) == 0){
a = fgetc(fin);
if(a != -1) //EOF(-1)がある時は無効化する為の【if】
{
if( a == '[' ){ //読み込み開始
Read_1 = READ_SET;
}else if( a == ']'){ //読み込み解除設定
fprintf(fout, "\n");
Read_1 = READ_END;
}
if( Read_1 == READ_START){ //書き出し
fputc(a, fout);
}
if( Read_1 == READ_SET){
Read_1 = READ_START;
}
}
}
}