初歩の質問ですがお手柔らかに…
ポインタもまだ理解しきれていません。
winapiの勉強しながらプログラムを作っています。
windows7,VisualStudio2010使用です。
struct A{
char *name;
double i;
} *data;//これはグローバル変数にしてあります。
(中略)
(以下ダイアログプロシージャ内)
TCHAR Buf[128];
GetDlgItemText(hDlg, IDC_XXXXX,Buf,(int)sizeof(Buf) -1);
ここから、構造体AのメンバnameにBufの内容をコピーしたいのですが、この後を
data->name = Buf ;
とすると、nameのポインタがBufと同じものになり、Bufはローカル変数なのでこの関数が終わるとこのアドレスの値はめちゃくちゃになるのでnameを別の関数内では参照できなくなりました。
&(data->name) = 00C09814
&(Buf) = 002EF590
を
&(data->name) = 002EF590
&(Buf) = 002EF590
として参照できるようにするのではなく、
アドレス 00C09814に アドレス002EF590の文字をコピーしてdata->nameとBufを別のアドレスで内容が同じものにしたいのです。
*(data->name + i) =*(Buf +i)をループで回してもうまくいかず、
sprintf() や strcpy() も試したのですが、コンパイルはできてもどこか不具合があるらしく、アプリケーションを動かすとこの部分で動作を停止してしまいます。
この場所で data->name = "text" とすると、問題なく文字列を代入できました。
わけのわからないことを言っている部分もありますが、どなたかご教授お願いします。
No.4
- 回答日時:
calloc じゃなくて malloc で十分だと思うし, その前の free も「NULL かどうかの判定」は不要だと思うの>#
1.お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
チェックボックスでのor検索
-
文字って数字で表現・・・
-
cgiによる文字入力数の制限につ...
-
wordの数式について 定積分を書...
-
「value」に2つの値をセットす...
-
ラジオボタンが両方とも選択で...
-
VB.net データーグリッドビュー...
-
INPUT TYPE
-
リストボックス(multipleなsel...
-
CGIでチェックボックスを使...
-
perlを難読化、暗号化させたい
-
ヨミサーチのデザイン変更について
-
サーバーのテキストファイルを...
-
CGI..pmを使っての画像のアップ...
-
[HTML]プルダウンメニューの横...
-
表の色を交互に変更
-
perlでHTMLソースを解析してfor...
-
perl cgi 文字コード変換について
-
Error: No Recipient というエ...
-
select値をhiddenのvalueに渡し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SUN BBSの改造方法
-
tracert ができない原因
-
Windows7でVBScriptによるネッ...
-
データの一部抜き出しについて
-
入力フォームに全角・半角スペ...
-
チェックボックスでのor検索
-
perl ヒア文(print <<"EOM" ...
-
python初心者です。
-
cgiによる文字入力数の制限につ...
-
【再】Cookieを使用してフォー...
-
JNAVIから提供されたメー...
-
Excel の VBA で、IEのWeb操作
-
C# クラスの配列の並び替えに...
-
Kentweb メールフォームについて
-
@town = ("Aタウン","Bタウン",...
-
文字って数字で表現・・・
-
CGI(Perl)内での必須項目チェ...
-
日本語文字化け(GETメソッド?)
-
ネットワークサービスについて
-
sendmailのメール送信ができま...
おすすめ情報