テキストファイルの読み込みについて質問です。
あらかじめ用意されたテキストファイルを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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Enterキーを押されたら次の処理...
-
#defineが使用するメモリ領域に...
-
エラーについて質問です。
-
C言語のプログラムで、途中で止...
-
static付き宣言の初期化
-
Cでファイルの行数をカウントす...
-
2進数の表示
-
reallocでエラー
-
C言語についてです。
-
矢印キーを押下してコンソール...
-
char型2つを結合し、short型に...
-
リストの作成と出力(C言語)
-
C言語のfor文です。 繰り返しの...
-
2÷3などの余りについて
-
信頼区間の1.96や1.65ってどこ...
-
*をユーザーが入力した数字の数...
-
fgetsなどのときのstdinのバッ...
-
C言語で%を使わない余りの出し方
-
C言語
-
プログラムでの数字につく”f”の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Enterキーを押されたら次の処理...
-
C言語で複数列のデータを1列の...
-
#defineが使用するメモリ領域に...
-
printf による16進表示について
-
空白を含んだ文字列がうまく格...
-
C言語のプログラムで、途中で止...
-
プログラミングの授業の課題です
-
char型2つを結合し、short型に...
-
C言語でのCSVファイルの読み出...
-
矢印キーを押下してコンソール...
-
【C言語】全角文字の配列を、全...
-
エラーについて質問です。
-
リストの作成と出力(C言語)
-
バイナリファイル(画像)のよみ...
-
[C]セグメンテーションエラー:...
-
WinInetのInternetOpenUrl関数...
-
VC++でSQLへSELECT文を送ったの...
-
受信データから必要な部分のみ...
-
c言語で文書を読み込み、単語の...
-
reallocでエラー
おすすめ情報