在c++中用string 定义一串汉字,比如
string “心在不焉”;
但又想这与char有何不同,于是用char数组重新定义,输出没有问题
# include <stdio.h>
# include <iostream>
# include <string>
using namespace std;
int main()
{
string i="心在不焉";
cout << i <<endl;
char ii[]="心在不焉";
printf("%s",ii);
system("pause");
return 0;
}
如果cout那块出错,记得添加<string>库。
但若是定义一个其他函数调用char数组,需要用指针,否则会报错。
# include <stdio.h>
# include <iostream>
# include <string>
using namespace std;
int Second(char *iii);
int main()
{
string i="心在不焉";
cout << i <<endl;
char ii[]="心在不焉";
printf("%s",ii);
char *iii=ii;
Second(iii);
system("pause");
return 0;
}
int Second(char *iii)
{
printf("%s",iii);
return 0;
}
很明显char *iii表示指向char ii数组的首地址,当然char *iii也可以直接表示字符串数组的首地址(这里感觉你们会不明白,就是可以直接char *iii=“心在不焉”,然后进行输出)
那你应该问了,我直接用string就好了,我用什么char。是啊说的没错,我就是觉得printf好用,但又输出string也很麻烦,一次尝试,第一次写,勿喷

本文探讨了C++中使用string类型和char数组来存储汉字的差异。通过示例代码展示了如何定义和输出,指出在函数调用时char数组需要使用指针。作者还分享了个人对两者选择的考虑,指出printf函数的便利性。
1362

被折叠的 条评论
为什么被折叠?



