//C++整形转化为字符串
#include <iostream>
#include "stdio.h"
#include<string.h>
#include <assert.h>
using namespace std;
/*
编写一个比较安全的字符拷贝函数
*/
char* stringCopy(char* dst, const char * src)
{
char *temp;
temp = dst;
assert(dst!= NULL && src!= NULL);
while(*src != '\0')
{
*dst++ = *src++;
}
*dst = '\0';
return (temp);
}
void main()
{
int a = 12345; //定义一个整形的数据
/*定义一个字符数组,首字母m代表数组的初始地址,字符数组的一个
特定就是末尾是以NULL为结尾的*/
char m[7];
/*定义一个字符串*/
string s;
/*把整形变量通过itoa变为字符型数据*/
itoa(a,m,10);
/*我们可以直接通过初始地址来输出整个字符数组*/
cout<<m<<endl; //输出结果为 12345
/*我们可以把一个字符数组的首地址直接赋给一个字符串,其实,字符串的
方式和字符数组是一致的,我们也可以通过下标来进行访问*/
s = m;
cout<<s[0]<<endl;//输出结果为1
/*不同的是字符串的末尾是不是以NULL来结束的*/
int k1 = sizeof(s); //16??
int k2 = strlen(m); //5 实际的字符串的长度
int k3 = sizeof(m); //7 分配的内存的长度
cout<<"输出长度信息"<<endl;
cout<<k1<<' '<<k2<<' '<<k3<<endl;
char *p = "23451";
int result;
result = atoi(p);
cout<<result<<endl;
}