文字列を構造体に変換しようとしています。最初のフィールドの構造体は、2番目のフィールドにある文字数を格納します。 私はこのプログラムで私が迷っていることを教えてください。 出力が正しくない(大きな整数値)バッファから構造体への変換
update:このプログラムを修正して4(nsize)を印刷できますか?
#include <iostream>
using namespace std;
struct SData
{
int nsize;
char* str;
};
void main()
{
void* buffer = "4ABCD";
SData *obj = reinterpret_cast< SData*>(buffer);
cout<<obj->nsize;
}
あなたがしようとしているように見えます独自の文字列クラスを実装します。 'std :: string'を見て、それらが' string'へのポインタからどうなるか見ることができます。 – NathanOliver
あなたは何を見たいですか? – spektr
文字 '' ''4'' ''は整数 '' '4'''と同じではありません。サイズや表記ではありません。 – mascoj