string str将str转字符数组以及字符数组初始化

c和指针(《pointers on c》) 8.1.11

一个字符串,如"hello",一般为字符串常量,可以用它对字符指针赋值,或初始化,相当于把这个字符串常量的首地址赋给这个指针,如:

char *p = "hello";

或者

char *p;

p="hello";

C++STL之string

字符串常量不能write能read

但是,当用"hello"给字符数组作初始化时,"hello",并非一个字符串常量,而是相当于一个初始化列表{‘h‘,‘e‘,‘l‘,‘l‘,‘o‘,‘\0‘},在其他任何时候,它都表示一个字符串常量。而数组名也是一个指针常量,不能对常量赋值。所以

char a[] = "hello"; //正确,hello",并非一个字符串常量,而是相当于一个初始化列表

char a[6];

a = "hello"; //错误,a为指针常量,不能修改,当然也不能赋值

时间: 2024-10-19 09:13:40

string str将str转字符数组以及字符数组初始化的相关文章

关于C中字符数组,字符指针以及C++中string类型的两两转换及排序

// practise.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <string.h> #include <string> #include <algorithm> #include <iostream> using namespace std; int main() { /* 字符串转字符数组,使用strncpy_s(),比strncpy()安全*/ string str

C#中字符数组,字节数组和string之间的转化(转)

原文链接:http://hi.baidu.com/endyli/item/7bf074945de35e1f934f41fe 来源: NDC(NetworkDiskClient)的界面和后台程序之间用Socket通信,发送命令. 环境:界面:C# winform 后台:Vc++,消息通知 网络通信,C#是通过网络字节流进行传输的,传输内容是有报文头的Protobuf.Net消息.报文头是struct结构体,先转化成 byte[],protobuf消息就先转换为内存流,再stream.ToArray

对比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

String.getBytes()和String.tocharArray(),字节数组和字符数组的区别

String.getBytes()是将字符串转化为一个字节数组.而String.toCharArray()是将一个字符串转化为一个字符数组. [例如] byte bys[] ="国庆60周年".getBytes(); char chs[]="国庆60周年".toCharArray(); [那么字节数组和字符数组有什么区别呢?] 字节输入流和输出流的read和write方法使用字节数组读写数据,即以字节为基本单文处理数据.因此,字节流不能很好地操作Unicode字符,

数组及字符、串、正则API总结

数组及字符.串.正则API 序号 名称及功能 函数 操作对象类型 返回值 语法 修改原 备注 案例 数组 字串 1 数组转字串 String() 数组 字串 str var str=String(arr) 否 默认逗号分隔   2 拼接数组元素为字串 join() 数组 字串 str   否 略后,用逗 无缝拼接 3 拼接数组为字串 concat() 数组 字串 newArr var newArr=arr.concat(值1,值2,[],...) 否     4 截取子 slice() 数组 字

转:字符数组与字符指针

转自:http://blog.csdn.net/qiumm/article/details/5657120 1.字符指针可以指向一个字符串. 我们可以用字符串常量对字符指针进行初始化.例如,有说明语句: char *str = "This is a string."; 是对字符指针进行初始化.此时,字符指针指向的是一个字符串常量的首地址,即指向字符串的首地址. 这里要注意字符指针与字符数组之间的区别.例如,有说明语句: char string[ ]="This is a st

java String长度与varchar长度匹配理解(字符和字节长度理解)

string中的length()长度,返回的是char的数量,每个char可以存储世界上任何类型的文字和字符,一个char 而Oracle库中的指定varchar,指的是字节长度.不是字符.字符和字节之间还有编码格式的转换嘞,对应具体一个字符用多少字节编码问题. 而Oracle库中的指定varchar,指的是字节长度.不是字符.字符和字节之间还有编码格式的转换嘞,对应具体一个字符用多少字节编码问题. 而Oracle库中的指定varchar,指的是字节长度.不是字符.字符和字节之间还有编码格式的转

字符数组与字符指针的区别与联系

1.字符指针可以指向一个字符串. 我们可以用字符串常量对字符指针进行初始化.例如,有说明语句: char *str = "This is a string."; 是对字符指针进行初始化.此时,字符指针指向的是一个字符串常量的首地址,即指向字符串的首地址. 这里要注意字符指针与字符数组之间的区别.例如,有说明语句: char string[ ]="This is a string."; 此时,string是字符数组,它存放了一个字符串. 字符指针str与字符数组str

java传入一个字符串 将它分割成大写字符为首的字符串数组

/* * 传入一个字符串 将它分割成大写字符为首的字符串数组 */ private ArrayList<String> splitByUpperCase(String str) { ArrayList<String> rs = new ArrayList<String>(); int index = 0; int len = str.length(); for (int i = 1; i < len; i++) { if (Character.isUpperCas