跳过一些代码并退出程序
Skip some code and exit programm
我有一个简单的问题。我该怎么做呢打印Hello world,然后转到'anotherMessage',然后在该函数中打印消息,然后跳过下一个计数" don Print this"并退出,
还有,如果我交换函数但保持语句相同,我该如何退出程序
void main()
{
cout << "Hello World";
anotherMessage();
cout << "Dont print this";
}
void anotherMessage()
{
cout << "Print this";
}
正如π α ντα ρ ε ε所指出的,可以在anotherMessage()
定义的末尾使用exit(0)
。
exit(0)
表示程序终止成功&它是完全便携的,而
exit(1)
(通常)表示终止失败。然而,它的使用是不可移植的。
如果你正在编写一个可能在库中结束的函数,从那里调用exit通常是不好的做法:最好向调用代码发出错误信号(例如通过特定的返回值或异常),并让调用代码决定做什么。(但在某些情况下,它是完全有效的。例如,如果你正在编写一个名为quit_if_file_not_found的函数,那么,你的用户期望终止。
在您的情况下,解析函数可能不应该调用exit:例如,在将来的某个时候,如果解析第一个文件名失败,您可能希望主代码向用户询问另一个文件名。如果解析例程终止程序,则必须修改主代码和该函数。如果它发出了一个错误信号,你只需要修改main中的逻辑。
(不要只退出而不打印错误消息或记录上面所做的事情,这将使沮丧的用户不知道如何解决代码遇到的任何问题)
可以将anotherMessage()函数的类型定义为int,返回整数值(在下面的代码中为1)。检查返回值是否为1,如果是,则调用exit(0)退出程序。
void main()
{
cout << "Hello World";
int val = anotherMessage();
if(val) exit(0);
cout << "Dont print this";
}
int anotherMessage()
{
cout << "Print this";
return 1;
}
单个exit()语句立即关闭代码,但这不是理想的语句。
当函数返回像这样的bool值时,可以使用if语句。
bool func();
func(){
// Do Stuff
return // true or false
}
void main(){
if(func()){
// Do Stuff
}else{
//Do other Stuff
}
}
相关文章:
- 为什么异常不退出程序?
- 从运行服务的应用程序代码中提取窗口句柄
- 虽然循环在使用回车键时不退出程序
- 你好世界在 APUE 第 7 章退出,代码为 0
- 解除分配数组会导致退出 11 代码
- 如果 I/O read() 处于阻塞阶段,如何使用 Ctrl+C 退出 C++ 程序?
- 捕获异常后如何退出程序执行
- 程序已退出,代码为-2147483645
- Qt和GLEW:程序退出,代码为107374155
- C++应用程序退出错误代码62097-这意味着什么
- 程序'[8636] .exe: Native'已退出,代码为 0 (0x0)
- 程序已退出,代码为0 (0x0).c++
- c++程序退出,代码0错误
- 错误 MSB6006:"cmd.exe"退出,代码 1 运行 QT 应用程序
- 程序退出,代码为132
- csEnd(代码):代码> CS_MAX_CODE?;143373032 999 程序退出,代码为 0377
- 在输入值后跳过一些代码并退出程序
- 跳过一些代码并退出程序
- Opencv 程序退出,代码为 -1073741819
- 启动过程中程序退出,代码为127