由于C语言中没有string字符串类型,字符串都是用char类型的指针数组表示的,所以有时可能需要将QString类型转换为char类型。
C++中有string字符串类型。
//把QString类型转换为char类型
char* ptr1;
QByteArray ba1;
//QString
m_strSave = ui.lineEdit_picture->text(); //m_strSave 是字符串类型
ba1 = m_strSave.toLatin1();
ptr1 = ba1.data();
应用举例:
需要读取指定位置的文件(以字节型命名的文件),并对该文件进行处理。
方法:
ui界面的lineEdit中输入某个文件的地址是字符串类型
需要读取指定位置的文件(以字节型命名的文件)是一个变量
char filename[100];//filename是字符型,而ui控件中得到的是字符串,所以需要转换一下,才可以进行strcpy_s拷贝函数
char* ptr;
QByteArray ba;
QString m_strPath1 = ui.lineEdit->text();
ba = m_strPath1.toLatin1();
ptr = ba.data();
strcpy_s(filename, ptr1);//strcpy_s(a,b)将b拷贝给a保存到文件夹中