有關windows和linux檔案的問題

2021-06-22 09:25:12 字數 389 閱讀 6311

這個應該是老生常談的問題,但是今天還是忘記了在windows下和linux下編輯的文字檔案的區別,正常的文字檔案在一行的最後應該是『\n』,所以就正常按照不遇見'\n'進行當行文字的提取,但是卻發現顯示的有些奇怪,在sprintf中本來應該在格式後面的字串卻顯示在了最前面。

所以理當一次輸出已經取到的該字串的最後乙個字元,看看是不是'\0',發現居然是乙個回車符,這是為什麼呢?

原來這個文字曾經在windows下進行編輯過,凡是在windows下編輯過的文字,在換行的時候不是只有乙個'\n',而是'\r''\n',這就可以明白了剛才說的現象,因為在格式化字串的時候,由於最後的字串是乙個回車『\r',因此本應在後面輸出的字串看到回車就會在終端輸出的當前行的最前面輸出所有'\r'之後的字串,所以才回在格式化的前面顯示。

Windows程式和訊息機制(二) 訊息有關的函式

不同視窗程式可以通過訊息進行互動,主要用到的函式如下 獲取乙個視窗的控制代碼。hwnd findwindow lpctstr lpclassname,類名 lpctstr lpwindowname 視窗名 通過在引數中傳遞乙個類名或者視窗名就可以返回乙個視窗的控制代碼,類名可以通過spy 獲取,視窗...

Linux有關筆記

1 系統當前已經載入的所有檔案系統在 etc mtab 檔案中得到反映 etc mtab檔案的作用 記載的是現在系統已經裝載的檔案系統,包括作業系統建立的虛擬檔案等 而 etc fstab是系統準備裝載的 etc fstab檔案的作用 記錄了計算機上硬碟分割槽的相關資訊,啟動 linux 的時候,檢...

Windows和Linux下socket的區別

1.標頭檔案 windows下winsock.h或winsock2.h linux下netinet in.h 大部分都在這兒 unistd.h close函式在這兒 sys socket.h 在in.h裡已經包含了,可以省了 2.初始化 windows下需要用wsastartup啟動ws2 32.l...