|
我想知道为什么输出的文件大小会为-1
#include <windows.h>
#include <tchar.h>
int _tWinMain(HINSTANCE a, HINSTANCE b, LPTSTR c, INT d)
{
HANDLE p = CreateFile(_T("F:\\123.txt"), GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (!p) MessageBox(NULL, _T("文件创建失败"), _T("警告"), MB_OK | MB_ICONWARNING);
else
{
char m[] = { "English is very good" };
DWORD w = 0;
BOOL q = WriteFile(p, m, sizeof(m), &w, NULL);
if (q) MessageBox(NULL, _T("文件写入成功"), _T("tip"), MB_OK);
CloseHandle(p);
CreateFile(_T("F:\\123.txt"), GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
DWORD mm= GetFileSize(p, NULL);
TCHAR nn[100] = { 0 };
_stprintf(nn,_T("文件的大小%d"),mm);
MessageBox(NULL, nn, _T("tip"), MB_OK);
CloseHandle(p);
}
return 0;
}
本帖最后由 wl1383838438 于 2021-3-3 10:43 编辑
我删除了一些您的代码,并且尝试成功了,您适当看看,出问题的代码应该是这段
我疑惑的问题是句柄那里,同一个句柄您好像关闭了2次
if 语句的使用最好还是匹配{}养成一个好习惯,虽然我也没有写但是我知道,这个习惯,代码规范还是需要注意在您学习重能起到比较重要的作用,
避免一下常见的错误!感谢您来到VC驿站!
这是运行成功的
修改前后的代码图您自己看看吧
我也很久没有写r3层的东西 很多说的不是那么全面 所以还希望您自己多加修正以及检查
|
上一篇: ch[1] = 10;下一篇: 请求二维数组的指针类型申请方法
|