Lecture 10 檔案操作

2021-10-03 06:12:49 字數 3130 閱讀 1603

博主不定期發布【保研/推免、c/c++、5g移動通訊、linux、生活隨筆】系列文章,喜歡的朋友【點讚+關注】支援一下吧!

2. 位運算

flag含義-

左對齊+

在前面放+或-

(space)

整數留空

00填充

width或prec

含義number

最小字元數(輸出寬度)

*下乙個引數是字元數

.number

小數點後的位數

.*下乙個引數是小數點後的位數

型別修飾

含義hh

單個位元組(char)

hshort

llong

lllong long

llong double

type

用於type

用於i或d

intg

float

uunsignde int

gfloat

o八進位制

a或a十六進製制浮點

x十六進製制

cchar

x字母大寫的十六進製制

s字串

f或ffloat,6p指標

e或e指數

n到目前為止讀入/寫出的個數

#include

intmain()

執行結果:

123456

6注:因為會造成格式化字串漏洞的原因,目前windows已棄用%n,因此在本地ide上執行可能無法得到正確結果

flag

含義flag含義*

跳過llong, double

數字最大字元數

lllong long

hhchar

llong double

hshort

type

含義type含義d

ints

字串i

整數,可能十六進製制或八進位制

[…(多種可能)]

所允許的字元

uunsigned intp指標

o八進位制

x十六進製制

a,e,f,g

float

cchar

文字檔案輸入輸出file

開啟檔案的標準**

file* fp =

fopen

("file"

,"r");

if(fp)

else

fopen

r

rr開啟唯讀

r+開啟讀寫,從檔案頭開始

w開啟只寫。如果不存在則新建,如果存在則清空

w+開啟讀寫。如果不存在則新建,如果存在則清空

a開啟追加。如果不存在則新建,如果存在則從檔案尾開始

…x(一般為wx/ax)只新建,如果檔案已存在則不能開啟

而二進位制檔案是需要專門的程式來讀寫的檔案

文字檔案的輸入輸出是格式化,可能經過轉碼

文字 vs 二進位制

程式為什麼要檔案

資料 **

現實是,程式通過第三方庫來讀寫檔案,很少直接讀寫二進位制檔案了

二進位制讀寫

為什麼有nitem?

在檔案中定位

可移植性

按位運算的運算子:

| 按位的或

~ 按位取反

^ 按位的異或

邏輯運算 vs 按位運算

>> 右移

移位的位數不要用負數,這是沒有定義的行為

附:有符號十六進製制數轉換為十進位制數:

首先給出原碼、反碼、補碼轉換:

原碼 ⟹

\longrightarrow

⟹ 按位取反(除符號位) ⟹

\longrightarrow

⟹ 反碼 ⟹

\longrightarrow

⟹ 加1 ⟹

\longrightarrow

⟹ 補碼

補碼的補碼是原碼

進一步可參考:原碼, 反碼, 補碼 詳解

例項:(signed) int 0x82000000

首先寫成二進位制:10000010000000000000000000000000

按位取反(除符號位):11111101111111111111111111111111

加1:11111110000000000000000000000000

計算:−(7

×167

+14×1

66)=

−2113929216

-(7 \times 16^7+14 \times 16^6)=-2113929216

−(7×16

7+14

×166

)=−2

1139

2921

6 而 unsigned int 0x82000000

轉換為十進位制為:8×1

67+2

×166

=2181038080

8 \times 16^7+2 \times 16^6=2181038080

8×167+

2×16

6=21

8103

8080

輸出乙個數的二進位制

#include

intmain()

printf

("\n");

return0;

}

把乙個int的若干位組合成乙個結構

struct

編譯器會安排其中的位的排列,不具有可移植性

當所需的位超過乙個int時會採用多個int

Lecture 10 四個基本子空間

四個基本子空間 列空間 column space c a 零空間 null space n a 行空間 row space c a t 左零空間 n a t c a t 和 n a 在 r n 中,c a 和 n a t 在 r m 中 dim c a r 所有主元列構成一組基 dim c a t ...

python筆記 10(檔案操作)

python檔案的操作分為三個步驟 指定檔案 讀取檔案 關閉檔案 讀取檔案,file.read 將把檔案所有內容全部讀取進來。def filetest1 指定檔案,以唯讀的方式開啟 file open file1.txt 讀取檔案 text file.read print text 關閉檔案 fil...

10 檔案許可權

目錄許可權 r read contents in directory w modify contents of directory x access directory r x ls w x touch rm mv chmod x cd mkdir m 700 abc mkdir abc umask...