あるテキストデータがあるとします。例えば以下の様なものなのですが
この中から各々の行において1文字だけで構成されている行を消したいのですがいい方法はありますでしょうか。
要は
の部分を摘出し、真ん中の余計な1文字だけの行を消したいと考えています。
1文字だけで構成されている行の数、数字群の数はまとまり毎にバラバラで、まとまり毎の1行目にある英単語は1行だけとなっています。
文字列群の中からx文字のものを除去or空白文字に置き換える方法
Re: 文字列群の中からx文字のものを除去or空白文字に置き換える方法
丸投げは禁止です。
改行だけの行はどうするんですか?
単純に考えれば改行文字までを一文字ずつ読み込み、
その文字数をカウントし、それが1ならそこを無視して、
そうでなければ出力でいいかと思います。
改行だけの行はどうするんですか?
単純に考えれば改行文字までを一文字ずつ読み込み、
その文字数をカウントし、それが1ならそこを無視して、
そうでなければ出力でいいかと思います。
Re: 文字列群の中からx文字のものを除去or空白文字に置き換える方法
丸投げしたつもりはなく、アイデアだけいただこうと思ったのですがそう思わせたのであればすみません。
でもご意見ありがとうございます。
おかげでできました。
でもご意見ありがとうございます。
おかげでできました。
#include <string.h>
#include <stdio.h>
#include<stdlib.h>
int main(void)
{
char onaji[256];
FILE *fp;
char *p;
if ((fp = fopen("zoom.txt", "r")) == NULL) {
printf("file open error!!\n");
exit(EXIT_FAILURE); /* エラーの場合は通常、異常終了する */
}
/* ファイルの読み(書き)*/
while (fgets(onaji , 256, fp) != NULL) {
p = strtok(onaji, "\n");
if( (p != NULL &&strlen(p)!=1)||p=="\n" ){
puts( p );
}
}
fclose(fp); /* ファイルのクローズ */
return 0;
}