トップページ > プログラム > 2015年05月01日 > mcLYTm8y

書き込み順位&時間帯一覧

8 位/188 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000011010100000004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C言語なら俺に聞け(入門編)Part 127©2ch.net
Win32API質問箱 Build120©2ch.net

書き込みレス一覧

C言語なら俺に聞け(入門編)Part 127©2ch.net
585 :デフォルトの名無しさん[]:2015/05/01(金) 11:33:23.41 ID:mcLYTm8y
質問。線形リストのメモリ解放なんですが、前からfreeしてくとダメ、
みたいなことってあるんすか?
BOOL FreeNodes() {
 node_t *p;
 node_t *pp;
 p = Nodes->next;
 while(TRUE) {
  pp = p->next;
  if(pp == NULL) break;
  free(p->str);
  free(p);
  p = pp;
 }
 return TRUE;
}
とかやったんですがエラー出る。。。
C言語なら俺に聞け(入門編)Part 127©2ch.net
588 :デフォルトの名無しさん[sage]:2015/05/01(金) 12:38:22.15 ID:mcLYTm8y
レスどもです。Win32APIのオベンキョウ中だったもので、エラーはSDKの
dbgheap.c内CheckBytes()なる関数で起き、unsigned char *pbという引数で渡された
中身が<不適切なPtr>となっています。
渡した文字列の問題であってC言語での線形リストの弄り方の問題でなければ
いいのですが、TCHARとかすらよくわかっとらん状態なんで混乱してました。
>>585でのやりかた自体に問題はないってことでおk?
C言語なら俺に聞け(入門編)Part 127©2ch.net
594 :デフォルトの名無しさん[sage]:2015/05/01(金) 14:19:36.65 ID:mcLYTm8y
いろいろどうもありがとう。
確かに>>585だと最後のNodeをfreeしませんね。そこも穴でした。
が、直してもエラーは出るし、Nodeはつくる度にnextにNULL入れてました。
そんなわけで他のところを疑ってみます。
ここ自体はおかしくないと分かっただけでも相当有難いっす。どもでした。
Win32API質問箱 Build120©2ch.net
216 :デフォルトの名無しさん[sage]:2015/05/01(金) 16:17:44.56 ID:mcLYTm8y
複数行richeditで一行の高さをピクセルで得たいのですが、
CHARFORMAT構造体のdw.yHeightはtwip単位。
twipからpixelへの間には各環境のdpiが絡んでらっしゃると。
てことはGetDeviceCapsとかを呼んでアレコレするしかないってことなんでしょうか。
現フォントの大きさ高さをピクセル単位で保存してるプロパティ的なものって
ないんでしょうか。
昔はだいたい96dpiだったと知りましたが、実際計ってみると確かに
96dpiではおかしい大きさで表示しとりますです。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。