C++中的string与char数据类型以及路径字符串拼接以及写txt文件的问题

转载 2018年04月16日 17:19:11

作为一个计算机小白,最近学习C++,这里做一个小记录,欢迎各路大神共同交流。
————————————————————————————分割线

C++中string与char的区别:
在C++中,字符串有两种,一种是字符串char[],另外一种是封装好的字符串类string,要区别理解。例如’a’是char, “a”是string,这两者都是普通的字符和字符串,和C语言中没什么不同值得注意的是后者包含两个字符,末尾有一个隐身的’\0’。
其中string str = “a” 是C++ 封装好的string。C++中的char string和string不是一回事。当用到了”string”这个关键词,就不是普通的字符串,而是用到了封装后的类。
基本的字符类型是char类型,最小尺寸为8位字节。
string则是其中重要的一个标准库类型。String表示可变长的字符序列。
注意: char是定长字符串,所以定义时要么赋值,要么分配空间,string则不一样,不用管那么多。

char和string类型数据在合成文件路径时的应用:

使用char类型:

#include <iostream>
using namespace std;
int main()
{
    char* str1 = "E:\\vsproject\\opencv\\opencvTest\\opencvTest\\print\\";
    char*str2 = "i001.jpg";
    //方式一
    char str3[20];
    strcpy(str3, str1);
    strcat(str3, str2);
    cout << str3 << endl;
    //方式二
    //char str3[20];
    sprintf(str3,"%s%s",str1,str2);
    cout << str3 << endl;
    return 0;
}

使用string类型:

#include <iostream>
using namespace std;
int main()
{
    string str1 = "E:\\vsproject\\opencv\\opencvTest\\opencvTest\\print\\";
    string str2 = "i001.jpg";
    string str3;
    str3 = str1 + str2;
    cout << str3 << endl;
    cout << str3 << endl;
    return 0;
}

C++中strcat()函数

strcat函数用于连接char类型的字符串,使用时需要注意char类型的变量在定义时的空间大小,strcat(a,b)是将a,b连接后将值赋给了a,比如:

char a[10] = "aaa";
char b[10] = "bbb";
strcat(a,b);
//执行后 a"aaabbb"

大致可以理解为:
如果是string类直接想加就可以了str1+str2;
如果是char类,需要调用函数strcat,如strcat(ch1,ch2)

C++字符串拼接

输入:两个字符串char* ch1,ch2 输出:ch1与ch2拼接在一起的字符串char* ch3 #include "stdafx.h" #include #include "Circle.h"...
  • u012043391
  • u012043391
  • 2017-03-16 11:30:50
  • 1931

九种基本数据类型,以及他们的封装类

基本类型 大小(字节) 默认值 封装类 byte 1 (byte)0 Byte short 2 (short)0 Short int 4 0 In...
  • rabbit_in_android
  • rabbit_in_android
  • 2015-11-12 08:27:30
  • 7466

C++之string的拼接

字符拼接可以采用的方法:1、多个字串拼接时用+操作符1)代码:如果不加红色部分的代码,则需要采用_sntprintf代替sntprintf。[cpp] view plain copy#include ...
  • Scythe666
  • Scythe666
  • 2017-04-04 07:20:56
  • 948

c++的字符串char与string相互转化,以及string的,切割,替换字符,字符串拼接方法

1,char可以用一下的方法初始化 const char* char1 = "123"; const char* char2 = "456"; const cha...
  • ybhjx
  • ybhjx
  • 2016-03-31 09:11:33
  • 2851

怎么样连接两个char*型的字符串变量

直接见代码#include using namespace std; int main() { char* str1 = "Hello"; char*str2 = "World"; ...
  • qq_31839479
  • qq_31839479
  • 2016-05-09 20:36:16
  • 5499

c++实现字符串strcat()连接

//字符串连接函数 #include #include using namespace std; char *string_cat(char *source,int s1,const ch...
  • lanzhihui_10086
  • lanzhihui_10086
  • 2014-07-27 22:51:02
  • 3884

C++读写TXT (string类型存储读取或写入)

C++读取和写入TXT
  • zmdsjtu
  • zmdsjtu
  • 2016-11-14 18:39:20
  • 5402

C++ String拼接

做个笔记看下边的代码: string str1 = "ls"; //ok string str2 = "test.c"; //ok string str3 = str1 +...
  • u013105549
  • u013105549
  • 2016-10-18 23:28:20
  • 2336

C++中string的拼接

字符拼接可以采用的方法: 1、多个字串拼接时用+操作符 1) 代码: 如果不加红色部分的代码,则需要采用_sntprintf代替sntprintf。 #include #include #if ...
  • ljp1919
  • ljp1919
  • 2015-09-01 13:00:53
  • 26565

c++ 与pb 类型对比

c/c++与pb的类型转换 MICROSOFT   PowerBuilder       Bool     Boolean       Char*   Ref   String     ...
  • lfqsy
  • lfqsy
  • 2013-09-27 10:19:37
  • 1630
收藏助手
不良信息举报
您举报文章:C++中的string与char数据类型以及路径字符串拼接以及写txt文件的问题
举报原因:
原因补充:

(最多只允许输入30个字)