我开始学习字符串和字符串函数(从一本书中),我学习了像 strcpy
这样的函数和 strcat
和 strncat
..等等
所以我开始在简单的程序中练习使用它们,以了解它们的作用。
后来我很惊讶,在书中它告诉我必须使用 #include <cstring>
为了使用所有这些字符串函数。
我曾多次尝试使用字符串函数而不包括 <cstring>
那为什么?
我包含的唯一头文件是 <iostream>
但是我能够使用字符串函数。
请有人向我解释为什么字符串函数在没有 <cstring>
的情况下工作我是否需要包含它才能使用字符串函数,如果不需要,<cstring>
的用途是什么? ;
最佳答案
首先,您绝对需要考虑切换到 std::string
.手动内存分配虽然是一项有趣且有时具有挑战性的任务,但不应成为您日常工作的一部分。
话虽如此,可能是<cstring>
被您在项目中使用的其他 header #included。但是最好不要依赖其他 header ,包括 <cstring>
(没有人保证他们会始终为每个编译器做),并在适当的地方包含它。
关于C++:没有 <cstring> 的字符串函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11819117/