num.txt
이라는 텍스트 파일이 있는데이 파일의 내용은 123
입니다.C++ 초보자 : 데이터를 읽는 함수에 fstream 전달
void alt_reader(ifstream &file, char* line){
file.read(line, 3);
cout << "First Time: " << line << endl;
}
int main() {
ifstream inFile;
int num;
inFile.open("num.txt");
alt_reader(inFile, (char*)&num);
cout << "Second Time: " << num << endl;
}
출력은 다음과 같습니다 :
는First Time: 123
Second Time: 3355185
를 어떻게 여전히 주에서 변수를 할당하는 기능 읽을 된 fstream를 얻기 위해 나를 알아내는 데 도움이 수 그럼 난 다음 있나요? alt_reader
에 정말 더 많은 것들이 있기 때문에 나는이 일을하고 있습니다. 그러나 이것은 내가 붙어있는 부분입니다. 도움을 많이 주셔서 감사합니다.
UPDATE : 빌 Oneal의 의견을 사용 는, 나는
void alt_reader(ifstream &file, stringstream &str, int n){
char buffer[n+1];
file.read(buffer, n);
buffer[n] = 0;
str << buffer;
cout << "First Time: " << buffer << endl; //First Time: 123
}
int main() {
ifstream inFile;
stringstream strm;
int num;
inFile.open("num.txt");
alt_reader(inFile, strm, 3);
cout << "Second Time: " << num << endl; //Second Time: 123
}
감사를 작성했습니다. 지금 거기에있는 것에 대한 비판은 무엇입니까?
감사합니다. fstream을 전달하고 함수에서 읽은 값을 가져 오는 것에 대한 조언 (return 문 없이는?) – physicsmichael
@ vgm64 : 예. 편집을 참조하십시오. –
@Bill ONeal : 방금 기술을 사용하여 코드를 확장하려는 시도를 추가했습니다. 그것은 작동합니다. 그거에 대해서 어떻게 생각해? – physicsmichael