问题标签 [c-str]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
501 浏览

substr - 避免在 .c_str 命令中使用临时字符串?

我想知道在这种情况下是否有办法避免使用临时字符串:

如果不先将子字符串存储在临时字符串中(假设我不想修改原始字符串),就无法使用 substr 命令并返回 c_str 。

0 投票
3 回答
2230 浏览

string - c ++ c_str在字符串末尾添加奇怪的字符

首先让我感谢您花时间阅读本文。

我正在尝试用 C++ 读取文件。目前我有一种方法允许用户在资源管理器中选择一个文件并将其作为“std::string”返回。然后我必须打开这个文件,但我为此使用的方法使用 const char*。因此,我需要从一种转换为另一种。

如果 Windows 中有一种简单的方法可以使用字符串读取文件,那么请告诉我,因为它可以解决我的整个问题。

当我使用 str.c_str() 从字符串转换为 const char* 时,最后会得到很多奇怪的字符。我已经研究了具有相同问题的其他主题,但是对于这些项目,答案似乎都非常具体,或者说只是坚持使用 sting/vector。显然我很乐意这样做,但我没有使用字符串/向量打开文件的方法。

任何帮助表示赞赏:) 发生这种情况的代码和输出粘贴在下面。

*来源

输出

0 投票
2 回答
17854 浏览

c++ - C++ 从用户输入更改工作目录

我正在设计一个模拟 shell 程序,我不能完全模仿“cd”命令。我试过 chdir(),但没有用,所以我继续尝试更改环境变量“PWD=”

这就是我所拥有的,我认为这可能很接近。(如果我错了或与 chdir() 更接近,请纠正我)

希望命令是“cd /user/username/folder”,而我的 pathEnv 变量是“PWD=/user/username/folder”,这可能会改变目录?

非常感谢任何见解。

0 投票
5 回答
2049 浏览

c++ - C++ toString() 和 sprintf()

使用 C++,我正在尝试为我的类实现一个 toString() 函数:

但是我不断收到此错误:const char* 类型的参数与 char* 类型的参数不兼容

我该如何解决这个问题并使论点不再是 const?

0 投票
1 回答
3378 浏览

c++ - 更改列表c ++中元素的值

这就是我正在做的事情,我从 .txt 文件中获取了一些信息,这些信息当然是数字,当我获取它们时,我将它们作为字符串列表中的字符串......(我知道它可能是字符,但在这个例子中是字符串) 所以当我将它们插入另一个列表时,它应该是这样的

我不能使用 c_str() 因为我试图访问列表的元素无论如何我可以做到这一点吗?

基本上我想做的只是从一个列表中获取我的字符串并将它们更改为整数,同时保持列表格式

任何帮助将不胜感激谢谢

0 投票
2 回答
354 浏览

c++ - C ++ STL:创建std :: string的const副本时会更改c_str()吗?

这是关于 STL 实现在处理std::string. 我有这么短的测试,它执行 2 个 const 副本并打印由返回的地址c_str()

在我的带有 libstdc++.so.6.0.16 STL 的 gcc 4.6.2 上,所有指针都返回为相等的。

我可以依靠这种行为吗?

它是可移植的还是在最近的标准中定义的?

这是否适用于当前或未来版本的 libstdc++、libc++、Microsoft STL、stdcxx (apache.org)?

0 投票
6 回答
133 浏览

c++ - 为什么指针返回值而不是地址?

这段代码:

生成此输出:

我不明白。

c_str1是指针,对吧?因此,c_str1应该返回一个地址,并且只*c_str1应该给出位于该地址的值。但是,在上面的示例c_str1中给出了值(而不是地址)。

我有什么误解?

0 投票
4 回答
5469 浏览

c++ - eof() 返回什么?

这是代码:

我的问题是:在什么情况下eof()返回 true。我有以下选择:

  1. 文件不存在。
  2. 文件为空。
  3. 文件不存在或为空。

不幸的是,文档没有帮助,因为我不知道eofbit error state flag意味着什么。我也不明白什么End-of-File is reached in the sequence associated with the stream意思。我假设 c_str() 返回一些迭代器,如果它已经被某些东西使用它可能已经到达终点。但是,我对结果c_str()新鲜的简单情况感兴趣,如果文件不存在,它将返回什么,如果文件为空,它将返回什么?

已编辑

我只想知道上面给出的代码在两种情况下返回了什么:

  1. 文件不存在。
  2. 文件为空。
0 投票
1 回答
1405 浏览

c++ - 将 c_str() 分配给字符串

我有一个我自己无法解决的问题。

到目前为止工作得很好。现在我尝试将另一个字符串放入变量 IOPaths.rawData...

这不再起作用了。稍后在我的程序中,我收到文件名错误。strcmp 明确给出 0,因此字符串必须相等。有谁知道我做错了什么?

0 投票
2 回答
530 浏览

c++ - VC++函数string::c_str():第一个字节的地址被设置为0(对比g++)