C与C++中的字符数组char*和字符串string的相互转化

1. 将字符数组char[]转化为字符串string

char ch [] = “ABCDEFG”;
string str(ch);//也可string str = ch;
//或者
char ch [] = “ABCDEFG”;
string str;
str = ch;//在原有基础上添加可以用str += ch;

2. 将字符串string转化为字符数组char[]

char buf[10];
string str(“ABCDEFG”);
length = str.copy(buf, 9);
buf[length] = ‘\0’;
//或者(推荐)
char buf[10];
string str(“ABCDEFG”);
strcpy(buf, str.c_str());//strncpy(buf, str.c_str(), 10);

原文地址:https://www.cnblogs.com/blink-cz/p/12242304.html

时间: 2024-12-15 21:23:06

C与C++中的字符数组char*和字符串string的相互转化的相关文章

对比c++中的string与c中的字符数组的构造和初始化

string类的构造函数: string(const char *s);    //用c字符串s初始化string(int n,char c);     //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1:string s2="hello":都是正确的写法.当构造的string太长而无法表达时会抛出length_error异常 : 关于c中的字符数组: 请参考: http://blog.csdn.net/wangrunmin/article

关于“C语言中的字符数组和字符串”一些需要注意的基础点

在C语言中,没有类似Java的String类对字符串的处理,字符串的包装可以采用字符数组. 先看字符数组: #include<stdio.h> void main() { char array[] = {'a','b','c'}; int str = sizeof(array)/sizeof(char); printf("%d",str); } 此时的输出结果为:3,即字符数组的长度为3. 下面我们用字符串初始化字符数组,代码如下. #include<stdio.h&

C语言中的字符数组

周末赶数据结构的作业,整理的一些关于C语言中字符数组的困惑与解答. 1.赋值 C语言中,给字符数组char s[]赋值使用strcpy (在string.h头文件中) #include <stdio.h> #include <string.h> int main() { char test[3][4]; strcpy(test[0], "abc"); strcpy(test[1], "adf"); strcpy(test[2], "

C++中的字符数组逐个赋值时报错的解决方法

C++中的字符数组逐个赋值时报错的解决方法 C++中定义一个字符数组的时候,如果初始化,则cout的时候不会出错,但是在逐个字符赋值的时候,很容易出错. #include<iostream> #include<string> using namespace std; int main() { //char s[100] = "china"; char s[100]; s[0]='c'; s[1]='n'; s[2]='\0'; cout<<s<

C语言:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删去,-将a所指字符串中的字符和b所指字符串中的字符的顺序交叉,-将形参s所指字符串中的所有数字字符顺序前移,

//函数fun功能:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删去,s所指串中剩余的字符形成的新串放在t所指的数组中. 1 #include <stdio.h> 2 #include <string.h> 3 4 void fun(char *s, char t[]) 5 { 6 int i=0,j=0; 7 while (s[i] != '\0') 8 { 9 if (i % 2 == 0) 10 { 11 if ((int)(s[i]) % 2 == 1)//判断A

输入5个学生的名字(英文),使用冒泡排序按从大到小排序。 提示:涉及到字符串数组,一个字符串是一个一维字符数组;一个 字符串数组就是一个二维字符数组。

#include <stdio.h>#include <string.h> /*输入5个学生的名字(英文),使用冒泡排序按从大到小排序.提示:涉及到字符串数组,一个字符串是一个一维字符数组:一个字符串数组就是一个二维字符数组.*/ void main(){ char stuNames[5][100]; char tmp[100]; int i = 0,j = 0; for(i = 0; i < 5; i++) { printf("请输入第%d个学生的名字:"

53.从键盘输入任意一串字符串,程序输出同样的一串字符,要求输出字符串中大小写相互转化,其他符号不变。如输入“a123BxC”,则输出“A123bXc”

(1)我的错误程序: #include<iostream> #include<string.h> using namespace std; int ZhuanHuan(char); int main() { char a[100]; cout<<"please input a string: "<<endl; cin>>a; for(int i=0;i<strlen(a);i++) { ZhuanHuan(a[i]);

字符串指针(char*)和字符数组(char [])区别

原文:http://www.blogbus.com/kavine-logs/29243638.html 今天在编写几个小函数的时候,半天调不通,长久不使用C++知识都快忘光了,赶紧拣些起来应付即将到来的应聘. void main(){    char* pStr1 = "Hello!";    char pStr2[] = "Hello!";    change(pStr1);    change(pStr2);}void change(char* pInstr){

JavaScript学习-js中的数组/Boolean类/字符串String类

JavaScript学习 [js中的数组] 1.数组的概念:是在内存中连续储存对个有序元素的结构 元素的顺序称为下标,通过下标查找对象元素. 2.数组的声明: ① 字面量声明:var arr1 = []; js中,同一数组,可以储存多种不同的数据类型: 例如: var arr1 = [1,"2",true,{"name":"hahhah"},[1,2]] ② new关键字声明: var arr2 = new Arry(参数) >>&g