今回はwin32のエディットコントロールから文字列を取得する関数,GetwindowText関数についてしつもんさせていただきます。
エディットコントロールから文字列を取得するため、以下のような引数を記述して、標準ファイル出力関数(fopenしてfprintfしてfclose)
//hEditはエディットコントロールハンドル
//BufferはTCHAR Buffer[101];と定義済み
GetWindowText( hEdit1,Buffer,GetWindowTextLength( hEdit1) );
FILE *fp = fopen( "test.txt","w" );
if( fp == NULL )return -1;
//実際はconst TCHAR *がたで自作関数にわたして実行するがほぼ一緒なので省略
fprintf( fp,"%s\n",Buffer );
fclose( fp );
出力されたtest.txtを確認したところ
なぜか始め1byte分( t )歯科出力されませんでした(日本語をいれると文字化け)
ほかのページなどあさってみたりしましたが、別にかわったことはありませんでした。
こうなってしまう理由がわかりません。
教えていただけると幸いです