
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
ごめんなさい、No.1へのお礼とNo.3へのお礼が矛盾しているので確認ですが、No.3へのお礼に書いてあることが正しくて、次の質問文が正しいということでいいですか?
「任意の対象文字列の中から、任意の検索文字列が何回現れるかカウントしたい」
ならば、strstr()を使います。
strstr()は、指定した文字列の先頭から、検索文字列が最初に現れるその先頭文字のポインタを返してくれる関数です。見つからなかったらNULLを返します。
なので、対象文字列の先頭から検索文字列で検索を始め、ヒットしたらポインタを進めて再検索する、ということを戻り値がNULLになるまで繰り返します。ここで、No.4の方がおっしゃる「文字列 "AAAAAAAAAA" の中から文字列 "AAAAA" を探す」の問題がありますが、重複を許すならばポインタを進めるのは1、重複を許さないならばstrlen("AAAAA")です。
ちなみに、ポインタのことは理解していますよね?
No1の理解力の乏しい回答者と同一人物が自己弁護しに来たのかな?
社会人ですか?
大人って楽でいいですね?
悪いけど自分で調べたほうが早かったのでどうでもいいです。

No.3
- 回答日時:
No1です。
補足要求の返信ありがとうございました。
要件としては、
「文字列(文字数がいくつかは不明)の中に、特定の1文字がいくつかあるかをカウントしたい。」
ということであってますか。以下、その前提での回答です。
C言語で文字列という場合は、必ず文字列の最後に終端を表す文字が格納されています。
これは、ASCIIコードの値が0の文字です。
C言語では '\0' 又は 0x00 でこの文字を表します。
従って、'\0'が出現するまで、検索し、'\0'を検知した時点で検索を終了すれば良いです。
以下は、文字列"ABCAXYA"中にAが何個あるかのカウント例です。
--------------------------------------------
#include <stdio.h>
int main(void){
char str[16] = "ABCAXYA";
int i;
int ctr;
i = 0;
ctr = 0;
while(1){
if (str[i] == '\0') break;
if (str[i] == 'A') ctr++;
i++;
}
printf("Aの数は%d個です\n",ctr);
return 0;
}
----------------------------------------------------
実行結果
Aの数は3個です
蛇足ですが、
「では、終端が'\0'になってない場合はどうなるのか」という疑問がでるかも知れませんが、
その場合、プログラムは'\0'を検知するまで延々と動作します。(つまり暴走します)
従って、暴走しないように、必ず、終端が'\0'になっているとを保証させてから、動作するようにさせる必要があります。
すいませんねぇ、文字と文字列の違いもわからない人はすっこんでていいですよ?
abcabcabcのなかのaが何個なんてのはプログラミング初めて1週間の僕にだってわかります。
aが何個かじゃなくabやbcが何個かって聞いてるの
よくそんな知識力と理解力で解答なんてしようなんて思いつきましたねぇ^^;

No.1
- 回答日時:
補足要求です。
質問1:
文字列の中の1文字を検索するのですか?
それとも、文字列の中の文字列(=複数文字)を検索するのですか?
質問2:
>文字列の中の文字を検索してカウントしたり検索する文字列が毎回固定ならばできるのですが
>その都度変わる文字列の中の文字列をカウントする方法が解りません
毎回固定の場合のソースを提示してください。
質問1
>文字列の中の文字
文字列ではなく文字(1文字)
>カウントしたり検索
つまり複数ということが質問内容の文章から読み取れるはずです
質問2
3文字固定なら
初心者なので効率的にどうなのかは解りませんが検索対象の文字列str1[i], str1[i+1], str[i+2と検索する文字列]str2[0], str2[1], str2[2]でで検索を掛ければできますね
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) googleスプレッドシートでカッコ内の文字数をカウントしたい 1 2023/01/17 15:52
- C言語・C++・C# C言語で 英文字のみからなる文字列、”Radar”、”WasItACatISaw”、”a”、””(空 5 2022/12/20 15:17
- Excel(エクセル) Excelの列から検索して該当する行を別シートに転記するVBA 2 2022/12/20 09:35
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
- Excel(エクセル) エクセルでA列セル内で折り返すことなく、文字列を、B列C列・・・側に一行に 2 2022/07/23 02:02
- C言語・C++・C# C#の問題です。 文字列型の配列 s[100] にキーボードから入力された100文字以内の文字列(単 2 2022/06/22 15:18
- マウス・キーボード Google検索の英語キーボード 英語のキーボードの配列が元に戻らなくなりました まえの配列は左上に 1 2022/06/19 11:41
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Visual Basic(VBA) 指定文字以外のカウント 4 2023/05/03 14:37
このQ&Aを見た人はこんなQ&Aも見ています
-
今年はじめたいことは?
今年はこれをはじめたい!ということを教えてください!
-
おすすめの美術館・博物館、教えてください!
美術館・博物館が大好きです。みなさんのおすすめをぜひお聞きしたいです。
-
最強の防寒、あったか術を教えてください!
とっても寒がりなのですが、冬に皆さんがされている最強の防寒、あったか術が知りたいです!
-
テレビやラジオに出たことがある人、いますか?
テレビやラジオに取材されたり、ゲスト出演したことある方いますか?
-
【お題】斜め上を行くスキー場にありがちなこと
運営も客も一流を通り越して斜め上を行くスキー場にありがちなことを教えて下さい。
-
strstrを利用しない文字列検索について
C言語・C++・C#
-
文字列中に含まれる文字の個数をカウントするプログラムについて…
C言語・C++・C#
-
関数から配列を返すには?
C言語・C++・C#
-
-
4
任意の文字列のアルファベットのカウント
C言語・C++・C#
-
5
C言語 配列の長さの上限
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでアルファベットか数...
-
VBAでの Replace関数で、ワイル...
-
Excelで3E8を3.00E+8にしない方...
-
EXCELで=より左の文字を一括で...
-
【Excel VBA】複数ある特定の文...
-
文字列からタブコードを取り除...
-
Excelで指数表現しないようにす...
-
エクセルで文字列をtxtファイル...
-
エクセルで文字列の最大値を抽...
-
VBA2005 16進を2桁で表示したい。
-
同一セル内に関数と文字列を同...
-
MS SQLServer のSQLで文字列の...
-
textboxユーザーコントロールの...
-
ORCLEでの小数の表示方法の変更...
-
Left関数とRight関数を合わせた...
-
アクセスで特定の数字以外(複...
-
エクセル 数値データを桁をそ...
-
UNIX:縦一列のファイルを横一行...
-
VBの「As String * 128」とは?
-
Msgboxの×が押されたとき
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
VBAでの Replace関数で、ワイル...
-
文字列からタブコードを取り除...
-
エクセルで文字列の最大値を抽...
-
Excelで指数表現しないようにす...
-
Excelで3E8を3.00E+8にしない方...
-
Left関数とRight関数を合わせた...
-
エクセル 数値データを桁をそ...
-
エクセルで文字列をtxtファイル...
-
VBA2005 16進を2桁で表示したい。
-
【Excel VBA】複数ある特定の文...
-
同一セル内に関数と文字列を同...
-
MS SQLServer のSQLで文字列の...
-
C#で年月を比較する
-
アクセスで特定の数字以外(複...
-
VBの「As String * 128」とは?
-
ORCLEでの小数の表示方法の変更...
-
Msgboxの×が押されたとき
-
aaa.bbb.ccc という、「ドット...
おすすめ情報