這幾日一直在做一些基於c的檔案操作的工作,遇到了一些有意思的錯誤,特此記載下來,以便以後查閱!
問題一:如何向檔案中寫入回車換行
方法一:
char ch[2];
ch[0] = 13;
ch[1] = 10;
fs.write(ch,sizeof(char) *2); //fs 是fstream型別
方法二:
fs.write("/r/n",(sizeof("/r/n")-1));
重新開啟檔案後需刪除檔案結尾處的eof標記
即:fs.clear();
clear()函式:
語法:void clear( iostate flags = goodbit );
清除與當前流相關的標誌,預設標誌是goodbit,它清除所有標誌,否則只有制定的標誌被清除。
注:
如果沒有清楚標誌,那麼seekg,seekp函式也將失敗。
問題三:tellg()函式不能得到正確的檔案指標所在位置。
tellg()函式語法:pos_type tellp();
tellp()函式用於輸出流中,並返回在流中當前"put"指標的位置。 例如,下面的**顯示了當乙個檔案指標寫入乙個流的時候的情形:
string s("in xanadu did kubla khan...");
ofstream fout("output.txt");
for( int i=0; i < s.length(); i++ )
fout.close();
注意:該問題造成的原因在於,tellg和tellp函式用於二進位制檔案中,所以在對文字檔案進行操作時,返回的檔案指標位置並不是正確的。即開啟檔案時要採用ios::binary模式。
還存在的問題:在問題一中,方法二,為什麼寫入字串的大小要-1?
一些職場感想
不要相信領導給你畫的大餅 離開了,就不要回去 他說的為你好,都是套路而已 你會比你想象的更優秀 不要認為提增加工資不好意思,你不提,他永遠不會給你加工資 這就看你所處的隊友是怎麼樣的 如果隊友是乙個很拼的,可能你需要比他更拼才能出人頭地,當然也要注意方法,不是埋頭苦幹,隊友不知道,領導不知道 如果隊...
一些感想 2021
解決乙個問題,可以靠個人的能力,也可以靠組織的流程,組織的流程就是組織的能力。組織設計流程考慮的是可靠 可重用。論解決問題的效率,通過組織的流程大概率是不如靠個人能力的。但組織擁有很多個 個人 乙個流程可以由多個 個人 共同完成,對於每乙個參與的 個人 感受到的可能是 組織流程比個人能力解決問題更高...
Coding的一些感想
1.明確模組要實現的功能,著重明確需要提供的介面,並在程式設計中對介面進行思考和改進,力求在其它模組的呼叫過程中,無論本模組如何改動,都不會對其他模組造成影響 2.編寫 的過程中,應該做好注釋的工作。本人在前期開發的過程中,經常懶得寫注釋,造成以後再用到這部分 時,就會如同重新寫一遍一樣,重新閱讀,...