注册 登录
编程论坛 C++教室

[求助]C++问题请教?

qjz 发布于 2007-08-22 00:23, 865 次点击
这是C++ Primer Plus 第五版第四章的习题:

#include <iostream>
//#include <cstring>
int main()
{
using namespace std;
char name[20];
char des[20];
char full[21];
cout<<"Enter your firat name:";
cin.getline(name,20);
cout<<"Enter your last name:";
cin.getline(des,20);
strncpy(full,des,20);
strcat(full,", ");
strncat(full,name,20);
cout<<"Here's the information in asingle string:"<<full<<" "<<endl;
}

请教:为什么我不使用#include <cstring>照样能正常编译,有了<iostream>还有必要加<cstring>吗?在线求解!!!谢谢!!!
编译环境:VC2005 VC2003都通过了!
7 回复
#2
aipb20072007-08-22 00:33
using namespace std;
#3
neverDie2007-08-22 00:35

似乎不用加cstring的

#4
qjz2007-08-22 00:39
为什么书中的例题都要加cstring呢?同样都只使用了strcpy, strcat等函数,而且本题(C++ Primer Plus 中文第五版第四章编程练习题3)要求使用 char数组和头文件 cstring 中的函数,不解??

[此贴子已经被作者于2007-8-22 0:45:20编辑过]


#5
neverDie2007-08-22 00:41

但是好象strcpy, strcat是定义在cstring头文件中
加上没错,不加是因为经常用iostream可能已经有了这个头文件(猜的)
你写多了就习惯了,加不加也就一句话,不要那么在意。

#6
qjz2007-08-22 00:49
回复:(neverDie)但是好象strcpy, strcat是定义在cs...
会不会是cstring已经包含在iostream中了,本人初学C++不敢冒然定论,只想讨个明白,多谢楼上朋友!
#7
valentineyzq2007-08-28 23:04
以下是引用aipb2007在2007-8-22 0:33:14的发言:
using namespace std;

的确是这样的,我以前也实验过。命名空间可以代替某些库.可惜我是菜鸟,不知道其中奥妙。

#8
醉生梦死2007-08-28 23:46

下面引用钱能书中的一段话:
strcpy(),strcmp()......这些库函数,默认在sting.h的头文件中。在标准c++中,由于iostream头文件嵌套包含了它,所以程序中省略了#include<string.h>指令

1