1.使用跨平台sprintf将float小数转为char字符串
float score = 0.932061;
char s[16];
sprintf(s,"%f",score);
cout << s[2] << endl ; // 输出9
2.将char a拷贝到b里
使用库函数
strncpy(b, a + 5, 10); // 从第5个字符拷贝
或者
memset(b, 0, 10);
memcpy(b, a + 5, 10);
3.将一个字符串char里的n个字符接在另一个字符串char后面
char name[16] = "person";
float score = 0.932061;
char s[16];
sprintf(s,"%f",score);
char s2[5] ;
strncpy(s2,s,4);
const size_t len = strlen(name) + strlen(s2);
char *n_str = new char[len+1];
strcpy(n_str,name);
strcat(n_str,s2);
cout << n_str << endl; //person0.93
4.比较两个char型字符串的内容是否相等
char name[16] = "person";
char sname[16]="person";
bool ret = 0;
if (strcmp(name, sname) == 0){
ret = 1;
}
cout << "ret: " << ret << endl; //1
对strcmp函数而言,
设这两个字符串为str1,str2,
若str1==str2,则返回零;
若str1>str2,则返回正数;
若str1<str2,则返回负数。
5.将c++ string转为char字符串的三种方式
1
string str = "hello";
const char* p = str.data();//加const
2
string str= "hello";
const char *p = str.c_str();
3
string str="hello";
char p[50];
str.copy(p, 5, 0);//这里5代表复制几个字符,0代表复制的位置,
*(p+5)=‘\0’;//加结束符