问题标签 [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 回答
1353 浏览

c++ - 尝试将字符串 char 转换为 int 时出错

我有一个简单的程序,我想将输入存储到矩阵中以便于访问。我在将简单的字符串字符转换为 int 时遇到问题,有人可以解释为什么我的代码在尝试编译时给我这个消息吗?

问题似乎与我使用 c_str() 函数有关,但如果我没记错的话,这是将字符转换为 int 值所必需的。

我的代码:

0 投票
1 回答
843 浏览

c++ - 使用 String 的 c_str() 并分配给 char const*:分配只读位置

我的问题是:我有一个常量指针指向一个常量 char 指针(二维字符数组,其中两个维度都是const)。我需要将 C 字符串分配给这个数组。我有一个用于创建 c_strings 向量的 of s std::vector。现在我将这些 C 字符串指针分配给这个数组,但我得到了std::stringc_str()

这是有错误的代码

如果有帮助,这里是字符串到 C 字符串部分的向量。

0 投票
1 回答
73 浏览

c++ - 如何查找给定字符串的 ENUM 类型?

我有一个这样的枚举类:

到目前为止,我在我的代码中使用它。

问题陈述:-

现在我有一个字符串,所以我需要使用该字符串,然后通过迭代上面的枚举来找到实际的 ENUM 类型。

下面是我的代码:

现在如果test_strxmlor XML,那么我需要这样设置:

但是如果test_strapplication_jsonor APPLICATION_JSON,那么我需要这样设置:

对其他人也是如此。以下是我的完整代码:

如果有人传递了我的枚举中不存在的任何未知字符串,那么它应该默认使用TestClass::SetContentType(ContentTypeEnum::APPLICATION_JSON)

给定字符串查找确切枚举类型的正确方法是什么?

0 投票
2 回答
529 浏览

c++ - Printf 和 C++ 字符串

所以我有以下代码:

这很简单,但它不起作用。printf不打印任何内容。如果我将其更改为:

有人可以解释一下它的行为吗?

0 投票
1 回答
118 浏览

c++ - c_str 在 char* 末尾添加垃圾

我正在构建一个 ftp 服务器,这是从客户端发送到服务器的消息,用于检查文件大小是否得到服务器的批准。我需要在函数 write 中使用 char*,所以我想将字符串转换为 char*。字符串结构是 fileName#fileSize(test.txt#37)。我尝试了 c_str 但最后得到了垃圾。

让我们看看下面的代码:

虽然当我想使用 cout 在服务器中打印消息时,我得到了这个输出:test2#37�� 或接近它的东西,这意味着我最终得到了垃圾。

我如何清理垃圾?或任何其他转换为 char* 的命令?

0 投票
2 回答
27 浏览

c++ - 在 C++ 中的全局函数中使用结构成员的方法

我对 C++ 很陌生,而且我总是在这里和那里遇到一些小事情。最近的似乎是结构的问题。

我想使用我的函数“print_student”打印出这个学生的名字

我收到错误“Intellisense:表达式必须具有类类型”编译器错误说“.c_str 的左侧必须具有类/结构/联合”。“记录”在函数的第 3 行中带有红色下划线并给出了错误。

我在这里迷路了。我尝试使用非常完整的范围名称和所有内容,但它一直给出相同的错误。我不确定发生了什么,错误似乎非常......模糊。

0 投票
3 回答
525 浏览

c++ - fstream .open 并将 .txt 或 .dat 附加到文件名

这在某些编译器上运行良好......有没有办法做到这一点,它可以正常工作而不会成为 c++11 或 c++14 上的不同编译器的问题?

错误:没有从 'basic_string, std::allocator >' 到 'const char *' 的可行转换

所以我用谷歌搜索,找到了一些答案,或者在这种情况下,canswers(癌症),试过了

错误:二进制表达式的操作数无效('const char *' 和 'const char *')

0 投票
2 回答
314 浏览

c++ - cpp-如何只获取 c_str() 的值

我有一个返回的函数const char*。在这个函数中,我有以下参数:

为了将 str 转换为const char*我使用str.c_str().

当我调试时,我注意到str.c_str()在字符串值之前包含一些东西(我猜是它的地址)。例如:如果 str="0" 我str.c_str()将 0x68d5f9 "0"。为什么?如何仅获取字符串的值?

0 投票
3 回答
356 浏览

c++ - 通过从其他已经初始化的字符串复制索引字符形成的 c++ 字符串。无法使用 cout 打印新形成的字符串

在 C++ 中,我通过从另一个已经初始化的字符串(字符串类)复制字符索引来创建一个新的字符串(字符串类)。

但我无法使用cout. 使用c_str()我可以使用cout. 但不是c_str()只在使用时才需要,printf()因为它需要交流类型的字符串?

编辑:感谢您的帮助!但是我的问题可能不太清楚,所以这些是我遇到的主要问题。请阅读以下内容,如果您能进一步帮助我,那就太好了!(另外,我理解b=a;是最简单的分配方法,但我试图理解字符串,因此是问题。)

a)我不知道cpp字符串何时为空终止,何时不是,但在这种情况下,初始化后的a字符串为空终止,因为循环结束并且它在字符串a的最后一个字符之后结束,因为从出来循环并cout<<a[i];打印 a 的最后一个字符。

b) 在循环中,在我包含cout<<b[i];它的赋值之后,打印出我们期望的值刚刚分配给 b[i]。所以 b[i] 确实存在一些奇怪的原因。

c)在for循环之外,在程序结束时,当我cout<<b[2];打印字符串的第三个字符时。如果我这样做cout<<b.c_str();,它会打印出整个字符串。只有当我这样做时cout<< b;,才会打印任何内容。为什么是这样?

0 投票
2 回答
10208 浏览

c++ - 错误:无法从 'std::string* {aka std::basic_string 转换*}' 到 'std::string {aka std::basic_string}'|

我正在尝试创建一个写入文件的函数,但在将字符串作为参数传递时遇到问题。

并有这个错误。