要在char的返回值中打印出字符串和int的数据成员,可以使用字符串格式化函数。以下是一个示例代码:
#include <iostream>
#include <string>
char* printData(const std::string& str, int num) {
char* result = new char[str.length() + sizeof(int) + 1];
sprintf(result, "String: %s, Int: %d", str.c_str(), num);
return result;
}
int main() {
std::string str = "Hello";
int num = 123;
char* output = printData(str, num);
std::cout << output << std::endl;
delete[] output;
return 0;
}
在上述代码中,我们定义了一个函数printData
,它接受一个字符串和一个整数作为参数,并返回一个char*
类型的指针。在函数内部,我们使用sprintf
函数将字符串和整数格式化成一个新的字符串,并将其存储在动态分配的字符数组中。最后,我们在main
函数中调用printData
函数,并通过std::cout
打印出结果。
需要注意的是,在使用完动态分配的字符数组后,需要使用delete[]
释放内存,以避免内存泄漏。
这种方法可以用于打印任意类型的数据成员,只需根据需要调整格式化字符串的格式。
领取专属 10元无门槛券
手把手带您无忧上云