みけCATさん
コメントありがとうございます。
デバッガで再度動きを確認してみたところ、
ご指摘通りの現象が起こっておりました。
strtokは引数に渡したバッファの領域を指すポインタを返すので、
ポインタが指す領域自体を書き変えてしまえば、
そのポインタを保持している変数も、違う領域を見てしまうということですね。
教えて頂いた通り、データを別領域に移して、別領域のポインタを
配列に保存するようにしたところ、上手く動作しました。
教えて頂き、ありがとうございました。
検索結果 2 件
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: ファイルから_tcstokで分解/代入する処理が上手くいきません
- 返信数: 2
- 閲覧数: 2101
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: ファイルから_tcstokで分解/代入する処理が上手くいきません
- 返信数: 2
- 閲覧数: 2101
ファイルから_tcstokで分解/代入する処理が上手くいきません
はじめまして、ひじきぱっぱと申します。 Win32APIでタイピングアプリを作っているのですが、 fgettsでファイルから1行読み取り,_tcstokで分解/代入する処理が上手くいきません。 どなたか教えて頂けませんか? <ソースコード> 気になっているのは35-40行目付近の処理です。 ※Win32のプロジェクトを作って頂き、この関数を呼び出して頂けると、症状を再現できます。 void readFileAndSetWords(HWND hWnd) { TCHAR ** wordsArray;//問題を保持する二次元配列 TCHAR ** rubysArray;//問題のルビを保持する二次元...