
テキストファイルの読み込みについて質問です。
あらかじめ用意されたテキストファイルを1行読み込み、 読み込んだ文字列内で特定の文字を検索する以下の プログラムを作成せよ。
(1)Emacs(Visual Studio)を用いて「風が吹けば桶屋が儲かる。」をローマ字で入力し、okeya.txt というファイル名で保存せよ。
(2)つぎに、この okeya.txt を読み込み、文字列内で文字の 'a'が 何番目にあるかをすべて列挙表示するプログラムokeya.cを 作成せよ。なお、文字列の先頭文字(K)の位置を第1番目とする。
文字列中の特定文字の検索にはポインタを用いること。
この実行結果が
Kazega hukeba okeyaga moukaru
Kazega hukeba okeyaga moukaru上の文字列にaは
2番目にあります。
6番目にあります。
13番目にあります。
19番目にあります。
21番目にあります。
27番目にあります。
になったのですが、ポインタを用いて特定文字の探索は以下のコードで正しいですか?
#pragma warning(disable: 4996)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N (256)
int main(void) {
FILE* fp;
char filename[] = "okeya.txt";
char str[N];
fp = fopen(filename, "r");
if (fp == NULL) {
printf("%s file not open!\n", filename);
exit(1);
}
while (fgets(str, N, fp) != NULL) {
printf("%s", str);
}
char* cp = str;
char target = 'a';
int position;
printf("\n%s", str);
printf("上の文字列に%cは\n", target);
while ((cp = strchr(cp, target)) != NULL){
position = (int)(cp - str) + 1;
printf("%d番目にあります。\n", position);
cp++;
}
fclose(fp);
return (0);
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Enterキーを押されたら次の処理...
-
【C言語】全角文字の配列を、全...
-
#defineが使用するメモリ領域に...
-
Cでファイルの行数をカウントす...
-
C言語でファイルから複素数の値...
-
[C言語 Windows] Visual Cでの...
-
Aの値からBの値を除するとは??
-
複数桁10進数の*桁目だけを抽出...
-
「Aに対するBの割合」と「Aに対...
-
エクセルで可視セルにのみ値貼...
-
10個出力で改行したいのですが...
-
main.c:7:43: warning: implici...
-
信頼区間の1.96や1.65ってどこ...
-
DWORDの実際の型は何でしょうか
-
2÷3などの余りについて
-
プログラムでの数字につく”f”の...
-
【gcc・cygwin】multiple defin...
-
エクセルのオートフィル?ドラ...
-
#define _CRT_SECURE_NO_WARNIN...
-
acceptをalarmでタイムアウトさ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Enterキーを押されたら次の処理...
-
【C言語】全角文字の配列を、全...
-
#defineが使用するメモリ領域に...
-
エラーについて質問です。
-
printf による16進表示について
-
空白を含んだ文字列がうまく格...
-
プログラミングの授業の課題です
-
csvファイルの読み取り
-
Cプログラムについて
-
strtok
-
矢印キーを押下してコンソール...
-
C言語で複数列のデータを1列の...
-
ポインタと配列
-
構造体メンバの初期化
-
言語Cについて教えていただけま...
-
C++で指定文字列のカウント方法...
-
小数の指数表示
-
VC++でSQLへSELECT文を送ったの...
-
reallocでエラー
-
ファイル
おすすめ情報