C++ 读取带有空格(c+;+;)的文本
我试图读取一个.txt文件,在我的文本文件中有数字,但也有路径文件夹(例如:“C:\Documents and Settings……”) 我可以毫无问题地读取数字,但当我尝试读取路径时,我只读取到第一个“空格”,这意味着,我只读取两种情况下的“C:\Documents”。我能做什么C++ 读取带有空格(c+;+;)的文本,c++,text-files,C++,Text Files,我试图读取一个.txt文件,在我的文本文件中有数字,但也有路径文件夹(例如:“C:\Documents and Settings……”) 我可以毫无问题地读取数字,但当我尝试读取路径时,我只读取到第一个“空格”,这意味着,我只读取两种情况下的“C:\Documents”。我能做什么 //READING PARAMETERS FROM A .TXT FILE //double sigma; double alpha; double tau; //double miniter; double max
//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();
//从.TXT文件读取参数
//双西格玛;双α;双头;
//双迷你;双maxiter;双q;双m;
//“R”图像文件夹;'图像文件夹;
//输入文件流
//-in=(输入)打开文件进行读取
ifstream f(“parametros.txt”,ifstream::in);
//如果未正确打开,则出错
如果(!f){
难道你没有把一行完整的字读进卡德纳的书中吗
getline(f, cadena);
<你也不应该使用<代码> GETSH()/代码>。你已经有了完整的代码在<代码> CaleNe/Cord>。< /P>你听说过Switter语句吗?读这个。你是从哪里学会的?如果是模式,我可以请你考虑为什么吗?并且只扩展一点点:(F.GETLIN(CDENA,SIZEOF(CARDENA)){…}