Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<;字符串.h>;或<;字符串>;? 这是在C++项目中包含标准头字符串h的最好方法吗? 在末尾使用[dot]h,如下所示: #include <string.h> #包括_C++_String_String.h - Fatal编程技术网

<;字符串.h>;或<;字符串>;? 这是在C++项目中包含标准头字符串h的最好方法吗? 在末尾使用[dot]h,如下所示: #include <string.h> #包括

<;字符串.h>;或<;字符串>;? 这是在C++项目中包含标准头字符串h的最好方法吗? 在末尾使用[dot]h,如下所示: #include <string.h> #包括,c++,string,string.h,C++,String,String.h,或者只是写作 #include <string> #包括 或者,也许,用另一种我不知道的方式 谢谢 标准是 #include <string> #包括 这是两个不同的标题 代码> 是C++ >代码> STD::String < /Cord>类 >代码> 是用于C字符串函数(如 STRULL()/代码>等),C++项目应该是 (这是第三,您不知道)。 完全不同 此库用于C样式字符串 代码> > C++字符串 标准中的C++,你应该使用 < /> > /p> <

或者只是写作

#include <string>
#包括
或者,也许,用另一种我不知道的方式

谢谢

标准是

#include <string>
#包括

这是两个不同的标题

    代码> <代码>是C++ >代码> STD::String < /Cord>类 >代码> <代码>是用于C字符串函数(如<代码> STRULL()/代码>等),C++项目应该是<代码> <代码>(这是第三,您不知道)。
      完全不同

      此库用于C样式字符串

      代码> <代码> > C++字符串


      <>标准中的C++,你应该使用<代码> <代码> < /> > /p> < p> <代码> */h >代码文件头文件通常是C头文件,你可以在C++中使用,也许用<代码>外“C”{}} /COD>包裹< /P>

      没有任何<代码> *.h >代码的标题通常是正版C++标题。 这只是一条经验法则

      最新的C++标准(C++ 11,C++ 03)定义了标题,如“代码> <代码>,正确地使用C语言的头文件,使用命名空间等。

      < P>:< /P>

      C++标准库还包含了ISO C90 C的18个标题。 以“.h”结尾的标准库,但不推荐使用它们。全部的 C++标准库中的其他标头<强>不要在< h > < <强>结束。< /P> <> C++标准库中的每个报头都包含在C++中 通过删除.h生成的不同名称下的标准库, 并在开头加上"c";;例如,“time.h”变成了“ctime”


      字符串是C++ STL头文件 提供模板类“string” string.h是c标准头文件 提供许多可使用的功能。就像strlen strcpy memcpy一样。 如果您想在命名空间std中使用,它不是使用globe命名空间或不想使用string.h


      您可以改用cstring。

      这些实际上是不同的文件。是的,它也让我的头受伤了。“最新的C++标准”…前一个也是。-1用
      代替
      不是个好主意。除了增加代码的脆弱性,它什么也买不到,因为
      不能保证不会污染全局名称空间。拥有一个无污染的全局名称空间是
      的最初动机,但AFAIK没有编译器实现这一点,而使用C++11,这一保证就不存在了gone@Michael我正在评论这个答案,它现在说“C++项目应该是<代码> <代码>。这是危险的信息。既然你已经意识到了事实,你拒绝重新考虑,这在某种程度上是好的:这意味着读者可以确信你的建议不是基于任何理性的评估。关键是,我的建议应该根据你对我个性的评估来考虑,我拒绝站在你一边,反对你所看到的法典的脆弱性,并给予我们双方选择的自由。我们将把它放在那里,让读者决定。正如阿尔夫指出的,你可以选择使用或使用C++和No,不是类库,而是C++的一个花哨名称。简言之,如果您使用strcmp(),strcat()函数族,则根据语言和/或首选项,您可以使用std::string类,也可以使用include。@unNatural:您的老师可能希望您使用
      #include
      。你可能不需要在 String .H./Cube中的函数,如<代码> STD::String 具有大致相同的功能。-1“C++中的标准应该使用”C++标准不这么说。通过使用C风格字符串函数到 STD< /Cord>命名空间,好吗?这很好,除非你不能保证它们不会被放在全局名称空间中。结果是,使用一个编译器的代码可能无法使用另一个编译器编译。不是一个非常好的主意+1来对抗匿名的downvoter。注意:这个答案是不正确的,我会投反对票,除非匿名的反对票击败了我。我认为,无法解释的否决票具有足够的破坏性和负面性,即使有明显的理由,也应该予以反击。@AlfP.Steinbach:匿名否决票具有改变答案顺序的有用功能。匿名投票比评论少有用,但我不认为它们是有害的。