BorlandC++ なら使えると思いますが、AnsiPosという関数があります。
n := AnsiPos('表題\一覧');
上の例でnが5になり、漢字コードの中の\は拾いません。
VisualC++ でこのような処理は、自前で作るしかないのでしょうか。
当然ですが、C++でstringのfindメソッドでは面倒を見てくれませんでした。
string str="表題\\一覧";
n = str.find("\\");
この例では、nが1になります。
ちなみにAnsiPosが使えるコンパイラであるFreePascalでも、期待した結果は得られませんでした。
(nが2になります。)
以上よろしくお願いします。
No.1ベストアンサー
- 回答日時:
AnsiPosの仕様を知りませんが、VC++専用で良ければ、_mbsstrが使えそうです。
#include <mbstring.h>
int AnsiPos(const char *s1, const char *s2)
{
const unsigned char *p = _mbsstr((const unsigned char *)s1, (const unsigned char *)s2);
if (p) {
return p - (const unsigned char *)s1 + 1;
}
return 0;
}
深夜にもかかわらず、回答ありがとうございます。
_mbsstr ですか。文字列検索 strstr関数のマルチバイト版があったんですね。
それにしても、アドレス値の差分で文字位置を返すというのは、いかにもC言語らしいですね。
ところで私の例文が間違っていました。
n := AnsiPos('表題\一覧');
ではなく
n := AnsiPos('\', '表題\一覧');
でした。
さっそく、引数の順序を逆にして使わせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Excel(エクセル) 【VBA】PDF出力に任意のファイル名前を付ける方法 3 2023/07/21 10:55
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Excel(エクセル) エクセル -より前の数字を切り出して表示 7 2022/10/22 09:08
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Excel(エクセル) 【マクロ】フォルダを3つ、POモニター上に、決まった並べ方をしたい 4 2022/08/31 11:05
- Excel(エクセル) ユーザー関数の自動計算(excel2003) 1 2023/02/06 06:46
- Excel(エクセル) Excelマクロの表示のExcel内をfindで検索 3 2022/06/15 20:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語のfor文です。 繰り返しの...
-
strchr() の第2引数はなぜ int ...
-
CStringをwchar_tに変換したい
-
_TCHAR*での引数の読み込み
-
間接操作のレベルとは
-
fgetsなどのときのstdinのバッ...
-
c++ 文字列を入力して、一文字...
-
C言語の入力した文字を反転させ...
-
ftoa の作り方
-
標準ライブラリ関数の自作につ...
-
c言語です。
-
ネットワークにつながっている...
-
str系関数を使わずに二つの文字...
-
構造体のアライメント調整
-
間接参照のレベルが異なっています
-
文字列から空白を取り除きたい...
-
起動時の引数の取得方法が分か...
-
コマンドラインに入力されてい...
-
配列をnビットシフトする
-
RGB→YUV変換のプログラム
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
fgetsなどのときのstdinのバッ...
-
charでの計算?
-
C言語のfor文です。 繰り返しの...
-
charからLPTSTRへの変換方法
-
文字列から空白を取り除きたい...
-
C言語の入力した文字を反転させ...
-
'const char *' 型は 'char *' ...
-
配列をnビットシフトする
-
str系関数を使わずに二つの文字...
-
int main()の・・・
-
atoi( ) の反対をやりたい
-
CStringをwchar_tに変換したい
-
c++ 文字列を入力して、一文字...
-
switch文で文字を比較すること...
-
干支のプログラム
-
3桁区切(コンマ)記号をつけ...
-
絶対パスからのファイル名の切...
-
間接操作のレベルとは
-
間接参照のレベルが異なっています
-
型変換
おすすめ情報