開発環境は VC++ 2008 Express Edition
あるDLLの関数で戻り値としてShiftJISの1文字が格納された
unsigned char SJis[2]
が返され,これを呼び出し側のプログラムで使っている文字列
std::string str
に順に追加していこうと思っています.
そこで,
unsigned char tmpSJis[3];
tmpSJis[0] = SJis[0];
tmpSJis[1] = SJis[1];
tmpSJis[2] = '\0';
str += std::string(tmpCode);
というコードを書いてループさせたのですが,
error C2440: '<function-style-cast>' : 'unsigned char *' から 'std::string' に変換できません。
というエラーが出てしまいうまく変換できません.
これを解決する方法はありませんか?
No.2ベストアンサー
- 回答日時:
str.append(SJis + 0, SJis + 2);
で解決しませんか?
回答ありがとうございます.
ただ,このコードの意味はよく分かりませんでしたが,
試してみたところうまく動作しました.
意味は自分で調べてみようと思います.
とてもシンプルなコードで書けたため,良回答20ptにしました(^-^)
No.1
- 回答日時:
エラーコードそのままです。
std::stringと"unsigned"なcharは互換性が無いです。代わりにtmpSJisをcharで宣言すればOK。コピーするときはmemcpyで。
あと、
str += std::string(tmpCode);
この部分はこう書いても結果は同じになります。
str += tmpCode;
回答ありがとうございます.
教えていただいたコードを試したところ,うまく動作することが確認できました.
勉強になりました.
良回答10ptにしました(^-^)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C++初心者です stirng 2 2022/09/20 20:43
- C言語・C++・C# このプログラミング誰か教えてくれませんか 2 2022/05/14 09:45
- C言語・C++・C# このプログラミング誰か教えてくれませんか 3 2022/05/13 17:27
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# このプログラミング誰か教えてください 9 2022/04/22 18:50
- C言語・C++・C# このプログラミング誰か教えてください。 2 2022/04/22 18:48
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
空ENTERの判別
-
enumの値から定義名を文字列化...
-
switch文のエラーについて
-
ハミング符号の解読について
-
_CRT_SECURE_NO_DEPRECATE が効...
-
C言語のポインターで詰まっている
-
unsigned char SJis[2]からstd:...
-
#include "fstream.h"
-
snprintfが使用できない。
-
CStringとString
-
C++で、テキストファイルを一行...
-
指定した文字を削除したい
-
mapの初期化
-
std::mapのメモリアロケータに...
-
C++でShowCursorを使いたい。
-
独立係数について教えて下さい。
-
Enterキーを押されたら次の処理...
-
信頼区間の1.96や1.65ってどこ...
-
2÷3などの余りについて
-
マイナスからプラスへ転じた時...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
switch文のエラーについて
-
構文エラーが出ているのですが...
-
VC++で文字列から任意の文字を...
-
enumの値から定義名を文字列化...
-
空ENTERの判別
-
C++でShowCursorを使いたい。
-
なぜ、C++の標準ヘッダをインク...
-
#define中の#のエスケープ
-
C++で、テキストファイルを一行...
-
gccでコンパイル時のエラー
-
C言語のエラーを修正したい
-
#include "fstream.h"
-
C言語のポインターで詰まっている
-
リモートデスクトップの接続元I...
-
構造体配列のvectorへの変換と...
-
JPEGやPNGが読めるLoadImage関数
-
VS2019でofstreamが未定義になる
-
構造体に決められた文字列を入...
-
VHDLのsignedとunsignedの違いは?
-
std::wstringのメモリリークに...
おすすめ情報