朝鲜人民军吧特种作战:为什么这个函数可以不用cstring头文件定义?难道是编译器不同原因吗

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 05:49:12
例子就是这个..在VC6.0情况下运行正确.首先看下面题中注释
#include<iostream>
using namespace std;
int main()
{void copystr(char *,char *,int);
int m;char str1[20],str2[20];
cout<<"input string:";
gets(str1);
cout<<"which character do you want begin to copy?";
cin>>m;
if(strlen(str1)<m)/*题中strlen是字符串长度函数,正确用法是要用头文件定义,不过头文件并没定义!!!难道是VC6.0编译器问题吗?*/
cout<<"input error!"<<endl;
else
{copystr(str1,str2,m);
cout<<"result:"<<str2<<endl;}
return 0;}
void copystr(char *p1,char *p2,int m)
{int n;n=0;
while(n<m-1)
{n++;p1++;}
for(;*p1!='\0';p1++,p2++)
*p2=*p1;
*p2='\0';}
题目介绍一下:
有一个字符串,包含n个字符。写一个函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。
楼1;string.h或cstring头文件都可以....
意思说下面有一个strlen(字符串长度函数),然而为什么却没有定义头文件.

谢谢,我想我也能猜个大概了,可能是编译器自己添加进去了,反正书上说必须要用头文件,既然运行正确,一定是了

strlen用到string.h,是功能库函数

CString是MFC的简单数据类

不是很清楚你想知道什么!VC编译器可以在编译的时候自动添加标准库,也可以通过设置去掉这个功能..