텍스트 파일에는 숫자가 있지만 경로 폴더도 있습니다 (예 : "C : \ Documents and Settings ......") .txt 파일을 읽으려고합니다.)공백으로 txt 읽기 (C++)
나는 모든 문제와 함께 숫자를 읽을 수 있지만 경로를 읽으려고하면 방금 첫 번째 '공백'이 나타날 때까지 읽습니다. 즉, "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();
switch 문에 대해 들었습니까? 이것을 읽으십시오 http://msdn.microsoft.com/en-us/library/k0t5wee3(v=vs.80).aspx – shift66
['while (! f.eof())'는 거의 항상 틀리다] (http : /www.parashift.com/c++-faq-lite/input-output.html#faq-15.5). 그걸 어디에서 배웠니? –
While-if 패턴을 사용하는 이유를 묻습니다. –