में एक फ़ाइल को अपठित करें, मैं उन फ़ाइलों को पढ़ने की कोशिश कर रहा हूं जो डिस्क पर एक साथ लिखे गए हैं। मुझे विशिष्ट आकार के टुकड़े पढ़ने की जरूरत है। यदि आकार पढ़ा गया विशिष्ट आकार से कम है, तो मैं फ़ाइल को अपठित करना चाहता हूं (कुछ ऐसा जो कुछ नहीं करता है, बजाय char [] के लिए) और पुनः प्रयास करें। बाइट्स को पहले से पढ़ना मेरे लिए एक विकल्प नहीं है।सी ++
यह कैसे संभव है?
FILE *fd = fopen("test.txt","r+");
fpos_t position;
fgetpos (fd, &position);
और फिर फ़ाइल को पढ़ने और सूचक अपने से पहले-fread स्थिति में वापस डाल:
मैं के माध्यम से वर्तमान स्थिति को बचाने की कोशिश की।
numberOfBytes = fread(buff, sizeof(unsigned char), desiredSize, fd)
if (numberByBytes < desiredSize) {
fsetpos (fd, &position);
}
लेकिन ऐसा लगता है कि यह काम नहीं कर रहा है।
सी _or_ सी ++? एक चुनें। –
@EtiennedeMartel, ऐसे समय होते हैं जब मतभेद मायने रखते हैं - क्या उनमें से एक है? यह मेरे जैसा नहीं दिखता है। –
@ मार्ककंसॉम, इससे कोई फर्क नहीं पड़ता कि * प्रश्न * मामलों में अंतर - लेकिन जवाब देने पर यह महत्वपूर्ण है। ** उत्तर देने पर अत्यधिक ** मायने रखता है। – Griwes