###前提・実現したいこと
VC++2010でGUIプログラムを作りながらC言語とAPIを勉強しています。
SetFilePointerExの移動距離に0を指定して現在位置を表示したいのですが、
2つともFILE_CURRENT=0になります。
最初の呼び出しでFILE_BEGINから0の移動で0
↓
WriteFileで3バイト書き込む
↓
FILE_CURRENTから0の移動で3
にならないのはどうしてでしょうか。
APIの前にまずC言語がおかしいというところもあるかもしれませんが、よろしくお願いします。
###該当のソースコード
case IDM_SAVE: { HANDLE hFile=CreateFile(_T("test.bmp"),GENERIC_WRITE,0, NULL,CREATE_ALWAYS,0,NULL); if (hFile != INVALID_HANDLE_VALUE) { LARGE_INTEGER liDistanceToMove; liDistanceToMove.QuadPart=0; LARGE_INTEGER lpNewFilePointer; SetFilePointerEx(hFile,liDistanceToMove,&lpNewFilePointer,FILE_BEGIN); _TCHAR chStr[128]; wsprintf(chStr , _T("FILE_CURRENT= %16d ") ,lpNewFilePointer); MessageBox(NULL , chStr , TEXT("title") , MB_OK); char str[]={0x01,0x02,0x03}; DWORD Written; WriteFile(hFile,str,sizeof(str),&Written,NULL); SetFilePointerEx(hFile,liDistanceToMove,&lpNewFilePointer,FILE_CURRENT); _TCHAR chStr2[128]; wsprintf(chStr2 , _T("FILE_CURRENT= %16d ") ,lpNewFilePointer); MessageBox(NULL , chStr , TEXT("title") , MB_OK); } } } break;
###試したこと
課題に対してアプローチしたことを記載してください
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。