मैं जो केवल सामग्री लाइन 123
है num.txt
नामक एक पाठ फ़ाइल है पढ़ने के लिए।सी ++ नौसिखिया: एक समारोह के लिए एक 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
वास्तव में इसके लिए बहुत कुछ है, लेकिन यह वह हिस्सा है जिस पर मैं फंस गया हूं। सहायता के लिए बहुत - बहुत धन्यवाद।
अद्यतन: विधेयक 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 पास करने और समारोह से पढ़ने के मूल्य प्राप्त करने पर कोई सलाह (वापसी बयान के बिना?)? – physicsmichael
@ vgm64: ज़रूर। संपादन देखें। –
@ बिल ओनल: मैंने अभी अपनी तकनीक के साथ अपना कोड विस्तारित करने का प्रयास जोड़ा है। यह काम करता हैं। इसके बारे में तुम क्या सोचते हो? – physicsmichael