VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 396|回复: 4

[已解决]if函数的返回值是返回给哪个参数?

[复制链接]
25_avatar_middle
最佳答案
0 
在线会员 发表于 2022-4-24 09:43:24 | 显示全部楼层 |阅读模式
  if (hFile == INVALID_HANDLE_VALUE)

05.    {

06.        MessageBox(NULL, _T("文件打开失败!"), _T("Tip"), MB_OK);

07.        return -1;

08.    }


这里 return -1 是返回给了谁?



源代码如下
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
    HANDLE hFile = CreateFile(_T("D:\\VC驿站ok.txt"), GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    if (hFile == INVALID_HANDLE_VALUE)
    {
        MessageBox(NULL, _T("文件打开失败!"), _T("Tip"), MB_OK);
        return -1;
    }
    DWORD dwWrited = 0;
    wchar_t szbuf[] = _T("我是VC驿站的粉丝!");
    static const BYTE unicodeHead[] = { 0xFF, 0xFE }; //unicode文件头文件  
    WriteFile(hFile, unicodeHead, sizeof(unicodeHead), &dwWrited, NULL);
    BOOL bWriteOK = WriteFile(hFile, szbuf, sizeof(szbuf), &dwWrited, NULL);
    CloseHandle(hFile);
    return 0;
}
最佳答案
17_avatar_small
2022-4-24 11:54:39
本帖最后由 yoobaby 于 2022-4-24 11:56 编辑

用于说明程序的退出状态。如果返回0,则代表程序正常退出;返回其它数字的含义则由系统决定。通常,返回非零代表程序异常退出。

可以说是返回给操作系统的。

你编译完你的程序,然后同目录下建个strat.bat 内容如下:


  1. 你的exe.exe
  2. @echo  %errorlevel%
  3. pause
复制代码


如果文件未找到,他就会返回你的那个-1




上一篇:MFC TAB 控件下放置 Child 类型的 ListCtrl,ListCtrl不出现滚动条?
下一篇:看起来貌似没问题啊..........
17_avatar_middle
最佳答案
40 
在线会员 发表于 2022-4-24 11:54:39 | 显示全部楼层    本楼为最佳答案   
bestAnswer
本帖最后由 yoobaby 于 2022-4-24 11:56 编辑

用于说明程序的退出状态。如果返回0,则代表程序正常退出;返回其它数字的含义则由系统决定。通常,返回非零代表程序异常退出。

可以说是返回给操作系统的。

你编译完你的程序,然后同目录下建个strat.bat 内容如下:


  1. 你的exe.exe
  2. @echo  %errorlevel%
  3. pause
复制代码


如果文件未找到,他就会返回你的那个-1
25_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2022-4-24 15:58:08 | 显示全部楼层
yoobaby 发表于 2022-4-24 11:54
用于说明程序的退出状态。如果返回0,则代表程序正常退出;返回其它数字的含义则由系统决定。通常,返回非 ...

这个意思就是和代码末尾的return 0是同等的操作吗?
17_avatar_middle
最佳答案
40 
在线会员 发表于 2022-4-24 16:40:54 | 显示全部楼层
对地导弹 发表于 2022-4-24 15:58
这个意思就是和代码末尾的return 0是同等的操作吗?

return -1 //如果执行到这边。就直接退出程序了,返回-1代码给操作系统

跟return 0;意义是一样的,只是return 0 是程序都正常执行完了,正常退出,可你如果执行了retrun -1 证明你这程序没正常执行完啊,
25_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2022-4-24 20:16:54 | 显示全部楼层
yoobaby 发表于 2022-4-24 16:40
return -1 //如果执行到这边。就直接退出程序了,返回-1代码给操作系统

跟return 0;意义是一样的,只 ...

好的谢谢!
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2023-6-2 02:38

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表