C++:没有 <cstring> 的字符串函数

标签 c++ string header-files

我开始学习字符串和字符串函数(从一本书中),我学习了像 strcpy 这样的函数和 strcatstrncat ..等等

所以我开始在简单的程序中练习使用它们,以了解它们的作用。

后来我很惊讶,在书中它告诉我必须使用 #include <cstring>为了使用所有这些字符串函数。

我曾多次尝试使用字符串函数而不包括 <cstring>那为什么?

我包含的唯一头文件是 <iostream>但是我能够使用字符串函数。

请有人向我解释为什么字符串函数在没有 <cstring> 的情况下工作我是否需要包含它才能使用字符串函数,如果不需要,<cstring> 的用途是什么? ;

最佳答案

首先,您绝对需要考虑切换到 std::string .手动内存分配虽然是一项有趣且有时具有挑战性的任务,但不应成为您日常工作的一部分。

话虽如此,可能是<cstring>被您在项目中使用的其他 header #included。但是最好不要依赖其他 header ,包括 <cstring> (没有人保证他们会始终为每个编译器做),并在适当的地方包含它。

关于C++:没有 <cstring> 的字符串函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11819117/

相关文章:

c++ - 变长 std::array 像

android - 未显示希伯来语 - Android

string - 字符串中模式的符号表示,并找到 "similar"子模式

objective-c - 如何添加 Objective-C Bridging Header 条目?

C++11:使用正则表达式进行两种可能的匹配次数的安全实践

C 库的 C++ 包装器作为共享库

c++ - 从 Objective-C 访问静态 C++ 字段

java - 如何获取字符串中的唯一字符

c++ - 基于宏的 C++ 头文件选择

c++ - #include <文件名> 和 #include "filename"之间有什么区别?