C++:不带<cstring>的字符串函数

Moh*_*bil 5 c++ string header-files

我开始学习字符串和字符串函数(来自一本书),我学习了像strcpyand strcatstrncat..etc 这样的函数

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

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

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

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

请有人向我解释为什么字符串函数没有工作<cstring>,我是否需要将它包含在使用字符串函数中,如果没有使用它的话<cstring>;

Vla*_*lad 5

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

话虽如此,可能是<cstring>您在项目中使用的其他一些标头#included 的。然而,最好不要依赖其他标头,包括<cstring>(没有人保证它们总是对每个编译器都这样做),并在适当的地方包含它。