C++ 如何将一个类作为printf的有效参数,并将其作为字符串返回?

C++ 如何将一个类作为printf的有效参数,并将其作为字符串返回?,c++,class,parameters,printf,C++,Class,Parameters,Printf,我有一个类,当我将它作为printf/sprintf的参数时,我希望它被用作一个特定的字符串(取决于类中发生的事情)。这样可能吗 printf("blah blah %s ", customclass); 如果没有任何类型的类型转换,也没有任何必要的函数调用(如customclass.xyz()),我该怎么办呢?printf是一个可变函数,不能以任何合理的方式与用户定义的类型一起使用 如果你在C++中,你应该更喜欢流(比如 STD::CUT),而不是 Prtff。对于流,您可以重载prin

我有一个类,当我将它作为printf/sprintf的参数时,我希望它被用作一个特定的字符串(取决于类中发生的事情)。这样可能吗

printf("blah blah  %s  ", customclass);

如果没有任何类型的类型转换,也没有任何必要的函数调用(如customclass.xyz()),我该怎么办呢?

printf
是一个可变函数,不能以任何合理的方式与用户定义的类型一起使用


如果你在C++中,你应该更喜欢流(比如<代码> STD::CUT),而不是<代码> Prtff<代码>。对于流,您可以重载

printf
是一个可变函数,不能以任何合理的方式与用户定义的类型一起使用


如果你在C++中,你应该更喜欢流(比如<代码> STD::CUT),而不是<代码> Prtff<代码>。对于流,您可以重载

,我认为这会起作用

cout << "blah blah " << typeid(customclassobject OR customclass).name() << endl;

我想这会管用的

cout << "blah blah " << typeid(customclassobject OR customclass).name() << endl;

谢谢你的建议。我的问题是,我正在处理一个庞大的程序,无法更改其中成千上万的printf和sprintf行。根本没有办法让printf和sprintf与自定义类一起工作吗?@HardCoder:那么你别无选择,只能编写一个
getString()
函数……谢谢你的建议。我的问题是,我正在处理一个庞大的程序,无法更改其中成千上万的printf和sprintf行。难道根本没有办法让printf和sprintf与自定义类一起工作吗?@HardCoder:那么你别无选择,只能编写一个
getString()
函数。。。