使用 C++用于打开 fstream 的字符串

发布于 2024-11-30 22:38:44 字数 281 浏览 3 评论 0原文

在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

染年凉城似染瑾 2024-12-07 22:38:44

在C++11中,可以直接传递字符串。 Visual Studio 10 支持此功能。在 C++11 之前,您必须传递一个 c 字符串,您可以这样做:

fin.open(name.c_str());

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:

fin.open(name.c_str());
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文