我是C ++的新手。我有一个简单的问题要问你,C ++中std::fstream::X and std::ios::X
打开文件模式之间的区别是什么?
x
可以in, out, ate, trunk, ate
?
以下是更多示例:
fs.open(filename.c_str(), std::fstream::in | std::fstream::out | std::fstream::app);
VS
fs.open(filename.c_str(), std::ios::in | std::ios::out | std::ios::app);
这两者有什么区别?
请不要以复杂的方式回答,因为我是C ++的初学者。
答案 0 :(得分:2)
类:默认模式参数
ofstream:ios :: out
ifstream:ios :: in
fstream:ios :: in | IOS ::出
对于ifstream和ofstream类,即使不包含它们的模式作为第二个参数传递给open()成员函数,也会自动并分别假设ios :: in和ios :: out。
$("#PrintPDF").click(function () {
var url = "_PrintPDFPartialView";
$.ajax({
url: url,
type: 'POST',
data: {
id: $("#StId").val()
},
success: function (result)
{
var $result = $(result);
kendo.drawing.drawDOM($result)
.then(function (group) {
// Render the result as a PDF file
kendo.drawing.pdf.saveAs(group, "test.pdf");
}).done(function (data) { },
)};
});
继承自std::fstream
,根据此page
从文件中读取时,我更喜欢使用std::ios
标志,因为让编程接口知道你将使用它的目的是一个很好的编程习惯。
答案 1 :(得分:0)
没有区别。 std::fstream::X
继承自std::ios
,因此与std::ios::X
的值相同。
答案 2 :(得分:0)
get '/articles/1'
和std::ios::in
相同 - 它是相同的值,因为它们具有继承关系,但它是他们自己的"值因为它们不是同一类型(同样,Alice和Bob不是同一个人)。