新手一枚,初次接觸Qt,畢設要求把MFC框架下的這個讀取檔案的函式移植到Qt下,移植后代碼如下,但明明有所需的TXT檔案,就是彈框說找不到這個檔案,求賜教是什么原因呢?
CGPT2_1w_World::CGPT2_1w_World()
{
pgrid = new double *[64800];
Tgrid = new double *[64800];
Qgrid = new double *[64800];
dTgrid = new double *[64800];
u = new double[64800];
Hs = new double[64800];
ahgrid = new double *[64800];
awgrid = new double *[64800];
lagrid = new double *[64800];
Tmgrid = new double *[64800];
for(int i=0; i<64800; i++)
{
pgrid[i] = new double [5];
Tgrid[i] = new double [5];
Qgrid[i] = new double [5];
dTgrid[i] = new double [5];
ahgrid[i] = new double [5];
awgrid[i] = new double [5];
lagrid[i] = new double [5];
Tmgrid[i] = new double [5];
}
}
CGPT2_1w_World::~CGPT2_1w_World()
{
for(int i=0; i<64800; i++) //列數
{
delete [] pgrid[i] ;
delete [] Tgrid[i] ;
delete [] Qgrid[i] ;
delete [] dTgrid[i];
delete [] ahgrid[i];
delete [] awgrid[i];
delete [] lagrid[i];
delete [] Tmgrid[i];
}
delete [] pgrid ;
delete [] Tgrid ;
delete [] Qgrid ;
delete [] dTgrid;
delete [] u ;
delete [] Hs ;
delete [] ahgrid;
delete [] awgrid;
delete [] lagrid;
delete [] Tmgrid;
}
int CGPT2_1w_World::sign2(double x)
{
if(x>0)
return 1;
else
return -1;
}
void CGPT2_1w_World::init_trop()
{
QString filename =QFileDialog::getOpenFileName(nullptr,"open","E:\\gpt2_1wA_World.txt");
QTextCodec * codec = QTextCodec::codecForName("utf-8");
QFile file(filename);
if (!file.open(QIODevice::ReadOnly)){
// 打開檔案失敗
return;
}
int n =0;
while(true)
{
char str[4096];
qint64 lineLength = file.readLine(str, sizeof(str));
if (lineLength == -1) {
break;
}
//char *str = strLine.GetBufferSetLength(strLine.GetLength());
const char *d = " ";
char *p = strtok(str,d);
double vel[44];
int cnt=0;
while(p)
{
vel[cnt++] = atof(p);
p=strtok(NULL,d);
}
for(int i=0;i<5;i++)
{
pgrid[n][i] = vel[i+2];
double temp = pgrid[n][i];
Tgrid[n][i] = vel[i+7];
Qgrid[n][i] = vel[i+12]/1000;
dTgrid[n][i] = vel[i+17]/1000;
ahgrid[n][i] = vel[i+24]/1000;
awgrid[n][i] = vel[i+29]/1000;
lagrid[n][i] = vel[i+34];
Tmgrid[n][i] = vel[i+39];
}
u[n] = vel[22];
Hs[n] = vel[23];
n++;
//strLine.ReleaseBuffer(strLine.GetLength());
}
file.close();
}
uj5u.com熱心網友回復:
QFileDialog::getOpenFileName方法的第三個引數是檔案夾路徑,應該是提示找不到:E:\\gpt2_1wA_World.txt這個檔案夾uj5u.com熱心網友回復:
你確定這個txt在你寫的路徑下的話,就把"E:\\gpt2_1wA_World.txt"改成"E:/gpt2_1wA_World.txt"看一下。uj5u.com熱心網友回復:
你就是想讀取檔案內容嘛直接這樣就好了啊
QFile file("E:\\gpt2_1wA_World.txt");
if (!file.open(QIODevice::ReadOnly)){
// 打開檔案失敗
return;
}
qDebug()<<file.readAll();
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/56186.html
標籤:Qt
上一篇:SWIFT tableview第一個cell中的collection回應的事件不是collection,而是第二個tableviewcell中的事件
