有没有办法在C++的主函数中返回字符串?下面是一个示例程序。
string main(int argv, char* argc[])
{
.
.
return "sucess";
}
string main(int argv, char* argc[])
{
.
.
return "sucess";
}
#include <iostream>
int main()
{
std::cout << "Success" << std::endl;
// No need for return 0; it is implicit in C++
}
return 0;
是隐含的(标准§ 3.6.1 /5):
[...] If control reaches the end of
main
without encountering areturn
statement, the effect is that of executing
return 0;
return 0
是多余的 :-) - Kerrek SB不,它不符合标准。你必须返回一个整数,以向调用者显示程序是如何退出的(良好、出错)。
而且为什么要返回一个字符串呢?
$(...)
中调用你的程序。 - James Kanze#include <cstdio>
int main()
{
// ...
std::puts("success");
} // no "return", success is implicit in C++
这是进程之间通信数据的标准方式之一,许多工具都是为以这种方式使用而设计的。
std::puts
恰好做我想要的事情,没有多余的东西;易于阅读,没有隐藏的成本或默认构造的区域设置--有时拥有简单的东西感觉很好。当适合使用iostreams时,我会使用它,但我喜欢不时地混合使用。 - Kerrek SB