使用 C++用于打开 fstream 的字符串
在 Visual Studio 2010 中,即使使用 /Za(struct ANSI)编译器标志,以下代码也可以工作。
string name = "input.txt";
ifstream fin;
fin.open(name);
我能找到的所有文档似乎都表明您必须将 C 字符串传递给 ifstream::open。现在这真的是 ANSI,还是 Microsoft 扩展,以及 /Za
标志的问题?
谢谢,
索尔
In Visual Studio 2010, the following code works, even with the /Za (struct ANSI) compiler flag.
string name = "input.txt";
ifstream fin;
fin.open(name);
All the documentation I can find seems to indicate that you have to pass a C-string to ifstream::open. Is this really ANSI now, or is it a Microsoft extension, and a problem with the /Za
flag?
Thanks,
Saul
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在C++11中,可以直接传递字符串。 Visual Studio 10 支持此功能。在 C++11 之前,您必须传递一个 c 字符串,您可以这样做:
In C++11, you can pass strings directly. Visual Studio 10 supports this. Prior to C++11, you would have to pass a c-string, which you could do like this: