C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 文字を検索し、行を表示する


(過去ログ 95 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■56564 / inTopicNo.1)  文字を検索し、行を表示する
  
□投稿者/ 牛乳 (1回)-(2011/01/19(Wed) 21:46:49)

分類:[C/C++] 

ファイルを開き一行ずつ読み込む。その行に指定された文字が含まれていた場合、その行すべてを表示するようなプログラムを作成したい。

#include<stdio.h>
#define MAX_LINE 512

int main( void)
{
	FILE *fp;
	char buffer[MAX_LINE];
	char filename[FILENAME_MAX];
	gets( filename);
	fp = fopen( filename, "r");
	if( fp == NULL){
		printf("ファイルが見つかりません\n", filename);
		return( -1);
	}
	while ( fgets( buffer, MAX_LINE , fp) != NULL){
		puts( buffer);
	}
	fclose( fp);
	return 0;
}

ファイルを開き、一行ずつ読み込みところまではできるのですが、指定された文字を含む行を表示することができません。
とりあえず指定する文字は'a'としてaが文中に見つかった場合その行を表示したいのですがどのようにすればよいのでしょう。

tomoki
kenji
sinya
akira

上記のようなファイルを開いたとしたら、aを含む行
sinya
akira
と表示する

引用返信 編集キー/
■56566 / inTopicNo.2)  Re[1]: 文字を検索し、行を表示する
□投稿者/ επιστημη (2595回)-(2011/01/19(Wed) 23:23:41)
επιστημη さんの Web サイト
> 	while ( fgets( buffer, MAX_LINE , fp) != NULL){
             if ( buffer内に'a'がある )
> 		puts( buffer);
> 	}

引用返信 編集キー/
■56632 / inTopicNo.3)  Re[2]: 文字を検索し、行を表示する
□投稿者/ 牛乳 (3回)-(2011/01/22(Sat) 22:44:23)
2011/01/22(Sat) 22:46:08 編集(投稿者)

関数strstrで、できました。ありがとうございます。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -