为什么我应该在函数中使用 c_str() [重复]

2023-11-22

我正在阅读《C++ Primer》一书,并在它使用的文件输入输出章节中:

ifstream infile(ifile.c_str());

打开名称在字符串中的文件ifile.

我尝试了该代码,即使没有,它也能完美运行c_str().那么使用它有什么意义呢?

我应该使用c_str()当我尝试从命令行参数打开文件时?我的意思是哪个是正确的用法:

ifstream fin( argv[1] )

or

ifstream fin( argv[1].c_str() )

构造函数为ifstream过去只需要一个const char *(这就是c_str()方法提供。

我相信有一个新的构造函数需要std::string在即将推出的标准中,(编辑)参见这个答案.

它也可能特定于您的实施。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我应该在函数中使用 c_str() [重复] 的相关文章

  • C++ 中本地类中的静态成员变量?

    我知道我们不能宣布static本地类中的成员变量 但其原因尚不清楚 那么请问有人可以解释一下吗 另外 为什么我们不能访问非static函数内部定义的变量 内部已经定义了局部类 直接在局部类成员函数中 在下面给出的代码中 int main i
  • 如何修复此错误“GDI+ 中发生一般错误”?

    从默认名称打开图像并以默认名称保存 覆盖它 我需要从 Image Default jpg 制作图形 将其放在 picturebox1 image 上并在 picurebox1 上绘制一些图形 它有效 这不是我的问题 但我无法保存 pictu
  • 在新的浏览器进程中打开 URL

    我需要在新的浏览器进程中打开 URL 当浏览器进程退出时我需要收到通知 我当前使用的代码如下 Process browser new Process browser EnableRaisingEvents true browser Star
  • 将 System.Windows.Input.KeyEventArgs 键转换为 char

    我需要将事件参数作为char 但是当我尝试转换 Key 枚举时 我得到的字母和符号与传入的字母和符号完全不同 如何正确地将密钥转换为字符 这是我尝试过的 ObserveKeyStroke this new ObervableKeyStrok
  • 存储来自其他程序的事件

    我想将其他应用程序的事件存储在我自己的应用程序中 事件示例 打开 最小化 Word 或打开文件时 这样的事可能吗 运行程序 http msdn microsoft com en us library ms813609 aspx and 打开
  • 由于链接器无法找到同名的 .lib 文件,因此无法构建 Dll 项目

    我是 Visual Studio 2010 环境的新手 我得到了一个使用 Visual Studio 2008 开发的源代码库 我正在尝试在 VS 2010 中构建它 但构建失败 因为链接器显示错误 LINK 致命错误 LNK1181 无法
  • 单击 form2 上的按钮触发 form 1 中的方法

    我对 Windows 窗体很陌生 我想知道是否可以通过单击表单 2 中的按钮来触发表单 1 中的方法 我的表格 1 有一个组合框 我的 Form 2 有一个 保存 按钮 我想要实现的是 当用户单击表单 2 中的 保存 时 我需要检查表单 1
  • 未经许可更改内存值

    我有一个二维数组 当我第一次打印数组的数据时 日期打印正确 但其他时候 array last i 的数据从 i 0 到 last 1 显然是一个逻辑错误 但我不明白原因 因为我复制并粘贴了 for 语句 那么 C 更改数据吗 I use g
  • PlaySound 可在 Visual Studio 中运行,但不能在独立 exe 中运行

    我正在尝试使用 Visual Studio 在 C 中播放 wav 文件 我将文件 my wav 放入项目目录中并使用代码 PlaySound TEXT my wav NULL SND FILENAME SND SYNC 我按下播放按钮 或
  • Java字符串查找和替换的最佳方法?

    我正在寻找 Java 中字符串查找和替换的最佳方法 这是一句话 我的名字叫米兰 人们都知道我叫米兰瓦西奇 我想用 Milan Vasic 替换 Milan 弦 但在我已经有 Milan Vasic 的地方 情况不应该是这样 搜索 替换后的结
  • 如何加速 pandas 字符串函数?

    我正在使用 pandas 矢量化 str split 方法来提取从 上的拆分 返回的第一个元素 我还尝试使用 df apply 与 lambda 和 str split 来产生等效的结果 使用 timeit 时 我发现 df apply 的
  • glut、glew dll:二进制文件不是使用调试信息构建的

    这是我得到的输出 abc exe Loaded C Windows system glut32 dll Binary was not built with debug information abc exe Loaded C Windows
  • 使用 Moq 使用内部构造函数模拟类型

    我正在尝试模拟 Microsoft Sync Framework 中的一个类 它只有一个内部构造函数 当我尝试以下操作时 var fullEnumerationContextMock new Mock
  • 将 log4net 与 Autofac 结合使用

    我正在尝试将 log4net 与 Autofac 一起使用 我粘贴了这段代码http autofac readthedocs org en latest examples log4net html http autofac readthed
  • 用于 C# 的 TripleDES IV?

    所以当我说这样的话 TripleDES tripledes TripleDES Create Rfc2898DeriveBytes pdb new Rfc2898DeriveBytes password plain tripledes Ke
  • 为什么在setsid()之前fork()

    Why fork before setsid 守护进程 基本上 如果我想将一个进程与其控制终端分离并使其成为进程组领导者 我使用setsid 之前没有分叉就这样做是行不通的 Why 首先 setsid 将使您的进程成为进程组的领导者 但它也
  • 如何在 C# 中调整图像大小同时保持高质量?

    我从这里找到了一篇关于图像处理的文章 http www switchonthecode com tutorials csharp tutorial image editing saving cropping and resizing htt
  • 线程和 fork()。我该如何处理呢? [复制]

    这个问题在这里已经有答案了 可能的重复 多线程程序中的fork https stackoverflow com questions 1235516 fork in multi threaded program 如果我有一个使用 fork 的
  • 英特尔 Pin 与 C++14

    问题 我有一些关于在 C 14 或其他 C 版本中使用英特尔 Pin 的问题 使用较新版本从较旧的 C 编译代码很少会出现任何问题 但由于 Intel Pin 是操作指令级别的 如果我使用 C 11 或 C 14 编译它 是否会出现任何不良
  • 检查Windows控制台中是否按下了键[重复]

    这个问题在这里已经有答案了 可能的重复 C 控制台键盘事件 https stackoverflow com questions 2067893 c console keyboard events 我希望 Windows 控制台程序在按下某个

随机推荐

  • Azure Active Directory 是否具有 OAuth/OpenID Connect 令牌自省端点?

    Azure Active Directory 是否具有自省端点 如中定义 RFC7662 用于验证 OpenID Connect 或 OAuth 访问令牌 否 您可以通过以下方式检查支持的所有端点OpenID 提供商配置对于 Azure A
  • 如何计算直方图的标准差? (Python、Matplotlib)

    假设我有一个数据集并使用 matplotlib 绘制该数据集的直方图 n bins patches plt hist data normed 1 如何使用以下公式计算标准差n and bins价值观hist 回报 我目前正在这样做来计算平均
  • Android 触摸秤按钮

    我知道如何将按钮缩放到确定的值 但是有没有办法在用户触摸按钮时每次增加 减小按钮大小 像这样的东西 Button myButton Button findViewById R id myButton myButton setOnTouchL
  • 检索泛型方法的正确重载的 MethodInfo

    我的这种类型包含一个泛型方法的两个重载 我喜欢检索其中一个重载 使用Func
  • 为什么“python -m pip install ...”需要“-m”?

    我最近使用pip安装了requestspython 2 7 中的包 但是为了做到这一点 我必须使用 python m pip install requests 而不仅仅是 python pip install requests 这给了我一个
  • jquery .bind() 是否已弃用?

    是 jquerybind 已弃用还是可以安全使用 我在评论和答案中看到很多关于 bind 被弃用的评论 例如 Jquery Event 检测 div 的 html text 的更改 是否有 JavaScript jQuery DOM 更改侦
  • 如何将 DataGridView 定位到特定行(以便所选行位于底部)?

    作为一个类似的问题这个问题 我还有一个带有 DataGridView 的应用程序 我想定位行 使特定行位于列表可见部分的底部 这是对将一行向下移动一位的按钮单击的响应 我想保留我正在移动的行上的选择 我已经让这部分工作 如果有很多行 所选行
  • 将数组从一页传递到另一页

    我有一个包含一些值的数组 比如说 arr one one value here arr two second value here arr three third value here 我这个值位于页面 home php 中 在页面末尾 它
  • dart:js 和 js 包有什么区别?

    Dart 文档中的所有地方都建议使用js用于 JavaScript 互操作性的包 然而 我最近发现dart jsSDK 中存在似乎具有相似 但不相同 接口的包 这些包之间有什么区别吗 它们的功能相同吗 推荐哪一款 Js 互操作始于包 js
  • application.yml 中的 @Value 返回错误值

    In my application yml文件声明 service a b 011600 c 011200 从中选择值 yml via Value注解 Value service a c private String VALUE 我得到的不
  • Python - 像扩展函数一样扩展属性

    Question 如何扩展 python 属性 子类可以通过在重载版本中调用超类的函数来扩展超类的函数 然后对结果进行操作 下面是我所说的 扩展函数 的一个例子 Extending a function a tongue in cheek
  • 将毫秒转换为天、小时、分钟和秒

    我在 Microsoft SQL Server 2008R2 中有一个 bigint 字段 里面充满了刻度 单个刻度代表一百纳秒或百万分之一秒 一毫秒有 10 000 个刻度 http msdn microsoft com en us li
  • WCF 发现返回硬编码 URL

    总体设计如下 有某些应用程序作为 Windows 服务安装 网络上可能有几个这样的 它们每个都向网络公开一些接口 将其视为 远程控制 或 配置 诸如此类的东西 然后还有另一个应用程序充当该接口的客户端 使用相同的类比 远程控制器 或 配置工
  • makefile:4: *** 缺少分隔符。停止

    这是我的生成文件 all ll ll ll c gcc c Wall Werror 02 c c ll c o ll lt clean rm fr ll 当我尝试make clean or make make 我收到此错误 makefile
  • 处理临时文件流

    假设我想定义一个 TempFileStream 类 它使用 Path GetTempFileName 方法创建临时文件 当不再需要 TempFileStream 的对象时 必须删除临时文件 例如关闭或处置 class TempFileStr
  • 确定哪个编译器构建了 Win32 PE

    如何确定使用哪个 C 或 C 编译器来构建特定的 Windows 可执行文件或 DLL 一些编译器会在最终的可执行文件中留下版本字符串 但这在 Windows 上似乎比在 Linux 上更罕见 具体来说 我感兴趣的是区分 Visual C
  • 如何在 Bash 中将字符串与多个正确值进行比较?

    我有以下 Bash 脚本 function get cms echo input cms name read cms cms cms if cms wordpress cms meganto cms typo3 then get cms f
  • 当某些 appspec 挂钩失败时,如何使 AWS CodeDeploy 返回错误?

    我有一个带有两个实例的 AWS 我已将 CodeDeploy 配置为在所有实例上自动部署我的项目 In the appspec yml我有该部分 hooks AfterInstall location codedeploy scripts
  • Windows 窗体应用程序最常见的设计模式是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我问这个问题是因为我将使用
  • 为什么我应该在函数中使用 c_str() [重复]

    这个问题在这里已经有答案了 我正在阅读 C Primer 一书 并在它使用的文件输入输出章节中 ifstream infile ifile c str 打开名称在字符串中的文件ifile 我尝试了该代码 即使没有 它也能完美运行c str