C++, regarding fprintf and ofstream

那年仲夏 提交于 2020-01-13 09:56:30

问题


I've been using fprintf for a while now and I'd like to ask a question. What is the equivalent of this fprintf line:

fprintf(OutputFile, "%s", "SomeStringValue");

using ofstream ?

How to use the "%s" in ofstream is what I'd really like to know. How to take the next argument and print it as a string?


回答1:


You don't use it.

The equivalent is essentially:

std::ofstream x("your_file");
x << "SomeStringValue";
x.close();

Go read about it on any of several reference pages. Such as http://www.cplusplus.com/reference/ostream/ostream/operator%3C%3C/




回答2:


You can't. You just write the string to the stream.

If you mean you want to provide some additional formatting to the string (like right justified with space padding), then you can use the I/O manipulators setfill(' ') (set the fill character to be the space character) and setw(length) (setting the width of the output). If you want something that mimics the syntax of the C style format strings, you can use Boost.format.

std::cout << boost::format("%s") % "SomeStringValue";


来源:https://stackoverflow.com/questions/18263461/c-regarding-fprintf-and-ofstream

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!