📅  最后修改于: 2023-12-03 14:59:52.308000             🧑  作者: Mango
C++程序输出是程序员经常需要处理的问题之一。在这里,我们将介绍7套常见的输出方式,在实际开发中将有所帮助。
cout
是C++标准库中的输出流类,最常用于输出文本信息。以下是一个示例程序,使用 cout
输出字符串 "Hello World!":
#include <iostream>
using namespace std;
int main() {
cout << "Hello World!" << endl;
return 0;
}
在这个示例中,cout
通过插入 <<
运算符插入了要输出的字符串 Hello World!
。endl
表示将输出的字符换行。
printf()
是C语言库函数的一个家族成员,常用于格式化输出。在 C++ 语言中,仍然可以使用该函数进行输出。以下是一个示例程序:
#include <stdio.h>
int main() {
printf("Hello World!");
return 0;
}
与 cout
不同的是,printf()
函数需要在输出时提供格式化字符串。
stringstream
是一个可用于将 C++ 类型转换为字符串的 I/O 流对象。以下是一个示例程序,使用 stringstream
,将一个数值转成字符串,并输出:
#include <iostream>
#include <sstream>
using namespace std;
int main() {
int number = 2022;
stringstream sstr;
sstr << number;
string str;
sstr >> str;
cout << "The number is: " << str << endl;
return 0;
}
在这个程序中,将整数 number
插入到stringstream对象sstr中,然后将存储在字符串流中的字符串提取到一个字符串变量中。
在C++中,我们可以使用文件流对象将数据写入文件。以下是一个示例程序,使用 ofstream
,将一组数据写入输出文件:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
ofstream outfile;
outfile.open("output.txt");
if (!outfile) {
cerr << "Error: Output file could not be opened" << endl;
exit(1);
}
outfile << "This is a sample output line." << endl;
outfile << "This is another sample output line." << endl;
outfile.close();
return 0;
}
该程序创建一个名为 output.txt
的输出文件,并将两个不同的字符串行写入该文件中。
ostringstream
是一个可用于将 C++ 类型转换为字符的 I/O 流对象,可以将字符串输出到控制台或输出到文件中。以下是一个示例程序:
#include <iostream>
#include <sstream>
using namespace std;
int main() {
ostringstream outstr;
outstr << "This is string output using ostringstream";
cout << outstr.str() << endl;
return 0;
}
在这个程序中,将字符串 "This is string output using ostringstream" 插入到ostringstream流中,并使用 outstr.str()
获取存储在ostringstream中的字符串,并输出到控制台。
在C++中,可以使用一些标准函数进行字符和字符串的类型转换。以下是一些示例程序:
#include <iostream>
#include <cstdlib>
using namespace std;
int main() {
string str = "12345";
int num;
num = atoi(str.c_str());
cout << "The integer is: " << num << endl;
return 0;
}
在这个程序中,使用 atoi()
函数将字符串 "12345" 转换为整数。
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
float number = 3.14159;
stringstream sstr;
sstr << number;
string str;
sstr >> str;
cout << "The string is: " << str << endl;
return 0;
}
在这个程序中,使用 stringstream
将浮点数转换为字符串,并输出。
C++中的 ostream
类可以允许用户使用 <<
运算符来向类中的对象写入数据。以下是一个示例程序:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
class MyClass {
public:
MyClass() {}
friend ostream &operator<<(ostream &out, const MyClass &obj);
};
ostream &operator<<(ostream &out, const MyClass &obj) {
out << "This is MyClass content.";
return out;
}
int main() {
MyClass obj;
cout << obj << endl;
return 0;
}
在这个程序中,我们创建了一个名为 MyClass
的类,并允许用户使用 <<
运算符向其输入数据。operator<<
函数负责将数据输出到控制台。