#include<string>---c++
#include<string.h>---c
定义:
string s;
string可看做char c[n];可以用下标指向s字符串中的单个字符;
char c[2] = {'1','2'}; == string s("12"); == char* c = "12"; == string s = "12";
补充:
字符串数组 char c[3] = {'123'}会报错,因为需要第4个长度存结束符‘\0’,即char c[4] = {'123'};可行.或者用char c[3] = {'1','2','3'};(麻烦)或者char c[] = "123";不先声明长度。
char* c = ”123";在c里可行,c++报错。
转换:
1.转化成char[],可以用strcpy_s ,或者遍历字符串的方式
string 转char[] : strncpy_s(a, string.c_str(), N); 也可以用上图的遍历string
const char * 转char[] : strcpy_s(a, const char *); 也可以用上图的strncpy_s
char * 转char[] : strcpy_s(a, char *); 也可以用上图的strncpy_s
2.char[]变成别的,直接赋值
3.转化为std::string 最简单,可以直接=, 因为string太强大了,把=号重载了很多遍
4.const char *转化到 char * 使用const_cast<char *>
5.string转化为char * 用c_str()
字符串:
string s2("123");
string 数组:
string s[100];
一个单位存一个string;
用srtcmp()比较string 类型时要把string转换为const char*
即 const char* a=s[i].c_str(); const char* a=s[i].c_str();
strcmp(a, b);可