Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在C++;?_C++_Strerror - Fatal编程技术网

C++ 如何在C++;?

C++ 如何在C++;?,c++,strerror,C++,Strerror,我的源代码如下: #include <QtCore/QCoreApplication> #include <stdio.h> #include <errno.h> using namespace std; int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); printf("salam\n"); int num = 10; int ss;

我的源代码如下:

#include <QtCore/QCoreApplication>
#include <stdio.h>
#include <errno.h>



using namespace std;
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    printf("salam\n");
    int num = 10;
    int ss;
    ss = num / 0;
    printf("%s\n",strerror(errno));

    return a.exec();

}
#包括
#包括
#包括
使用名称空间std;
int main(int argc,char*argv[])
{
qcorea应用程序(argc、argv);
printf(“salam\n”);
int num=10;
int-ss;
ss=num/0;
printf(“%s\n”,strerror(errno));
返回a.exec();
}
我想显示“除法为零”的
错误
字符串!
但结果是:

salam
没有这样的文件或目录


请帮助我在C++中使用<代码> ErnOn>代码>和<代码> ErrRoScist<代码> >不幸的是,在C++中,积分除以零是不确定的行为。所以运行时可以做任何事情。你已经失去了对程序的控制,因此没有任何东西可以帮助你


<>你最好先检查分母,然后明确地处理零情况:程序非正常返回非零是很有道理的。

< P>不幸的是,积分除以零是C++中的未定义行为。所以运行时可以做任何事情。你已经失去了对程序的控制,因此没有任何东西可以帮助你

最好先检查分母并明确处理零的情况:对于程序失败返回非零是惯用的方法。

除以零就可以了。该语言希望您不要编写这样毫无意义的代码(如果您这样做,它会鄙视您)。从本质上讲,它使您的整个程序变得毫无意义,任何事情都可能发生。如果分母可能为零,则需要在除法之前检查分母

< C和C++中不确定行为的主要原因是效率。硬件不想检查这种没有数学意义的特殊情况,语言也不想在每次调用中都添加检查。这些语言被设计为在“好”的情况下运行得非常快

仅在使用标准库(和系统调用)时为某些错误设置。例如:

double not_a_number = std::log(-1.0);
std::cerr << std::strerror(errno) << '\n';
double not_a_number=std::log(-1.0);
标准:cerr除以零是正确的。该语言希望您不要编写这样毫无意义的代码(如果您这样做,它会鄙视您)。从本质上讲,它使您的整个程序变得毫无意义,任何事情都可能发生。如果分母可能为零,则需要在除法之前检查分母

< C和C++中不确定行为的主要原因是效率。硬件不想检查这种没有数学意义的特殊情况,语言也不想在每次调用中都添加检查。这些语言被设计为在“好”的情况下运行得非常快

仅在使用标准库(和系统调用)时为某些错误设置。例如:

double not_a_number = std::log(-1.0);
std::cerr << std::strerror(errno) << '\n';
double not_a_number=std::log(-1.0);
标准:cerr