QT打开文件失败问题

用QT建立了一个纯C++代码,打开文件时出错。

使用的是相对路径:

fstream file1;ifstream file2;ifstream file3;ifstream file4;ifstream file5;
file1.open("AngleValue.txt",ios::in|ios::out|ios::binary);

 打开文件失败

请教了同事之后,改成绝对路径,成功。

注意:QT里绝对路径要改成下边的格式

C:\\Users\\lenovo\\Documents\\QT5.5\\src\\AngleValue.txt

参考链接:https://blog.csdn.net/u014563989/article/details/45377751?locationNum=7&fps=1

#include 
#include
#include"kinematics.h"
using namespace std;

int main()
{
    //import data
    double EEthetaValue[50][6];double Measure[50][3];double EEthetaValueZx[6];double MeasureZx[3];double DH[4][6];	double DH_nominal[6][4];
    fstream file1;ifstream file2;ifstream file3;ifstream file4;ifstream file5;
    file1.open("D:\\AngleValue.txt",ios::in|ios::out|ios::binary);//50个点的关节坐标值
    file2.open("D:\\Measure.txt",ios::in|ios::out|ios::binary);//50个点的笛卡尔坐标值
    file3.open("D:\\AngleValueZx.txt",ios::in|ios::out|ios::binary);//球心点的关节坐标值
    file4.open("D:\\MeasureZx.txt",ios::in|ios::out|ios::binary);//球心点的笛卡尔坐标值
    file5.open("D:\\DH.txt",ios::in|ios::out|ios::binary);//球心点的笛卡尔坐标值
    if (!file1.is_open()) {
        cout << "OPen AngleValue.txt failed!\n";
    } else{
    for(int i=0;i<50;i++) {
        for(int j=0;j<6;j++) {
            file1>>EEthetaValue[i][j];      
           } }}
    if (!file2.is_open()) {
        cout << "OPen Measure.txt failed!\n";
    } else{
    for(int i=0;i<50;i++) {
        for(int j=0;j<3;j++) {
            file2>>Measure[i][j];
        }}}
    if (!file3.is_open()) {
        cout << "OPen AngleValueZx.txt failed!\n";
    } else{
    for(int i=0;i<6;i++) {
        file3>>EEthetaValueZx[i];
    }}
    if (!file4.is_open()) {
        cout << "OPen MeasureZx.txt failed!\n";
    } else{
    for(int i=0;i<3;i++) {
        file4>>MeasureZx[i];
    }}
    if (!file5.is_open()) {
        cout << "OPen DH.txt failed!\n";
    } else{
    for(int i=0;i<4;i++) {
        for(int j=0;j<6;j++) {
            file5>>DH[i][j];
        }}}
    file1.close(); file2.close(); file3.close(); file4.close(); file5.close();
    for(int i=0;i<4;i++) {
        for(int j=0;j<6;j++) {
           DH_nominal[j][i]=DH[i][j];
        }
    }


    return 0;
}

 

你可能感兴趣的:(QT)