gpt4 book ai didi

c++ - 读取带空格的 txt(c++)

转载 作者:行者123 更新时间:2023-11-30 03:03:31 25 4
gpt4 key购买 nike

我正在尝试读取一个 .txt 文件,在我的文本文件中有数字还有路径文件夹(例如:“C:\Documents and Settings......”)

我能够毫无问题地读取数字,但是当我尝试读取路径时,我只读到第一个“空格”,这意味着,在这两种情况下我都只读了“C:\Documents”。我能做什么?

//READING PARAMETERS FROM A .TXT FILE
//double sigma; double alpha; double tau;
//double miniter; double maxiter; double q; double m;
//‘R’ image folder ; ‘T’ image folder;

// input-file-stream
// - in = (input) open the file for reading
ifstream f ( "parametros.txt", ifstream::in ) ;

// Error if it is not open properly
if ( !f){
cout<<"ERROR OPENING THE FILE .TXT"<<endl;
exit(EXIT_FAILURE);
}


char *cadena = new char [100];
stringstream folder_T;
stringstream folder_R;
int iter = 1;
while ( !f.eof() ){
// reading the next line
f >> cadena ;
if ( iter == 1 ){
sigma = atof(cadena);
}
else if ( iter == 2){
alpha = atof(cadena);
}
else if ( iter == 3){
tau = atof(cadena);
}
else if ( iter == 4){
miniter = atof(cadena);
}
else if ( iter == 5){
maxiter = atof(cadena);
}
else if ( iter == 6){
q = atof(cadena);
}
else if ( iter == 7){
m = atof(cadena);
}
else if ( iter == 8){
folder_T<<gets(cadena); // Only “C:/Documents” is returned
}
else if ( iter == 9){
folder_R<<gets(cadena); // Only “C:/Documents” is returned
}

iter = iter + 1;

}// fin while
f.close();

最佳答案

您没有将完整的一行读入 cadena。这样做

getline(f, cadena);

此外,您不应该使用 gets()。您应该已经在 cadena 中有了完整的行。

关于c++ - 读取带空格的 txt(c++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9308217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com