157 用 Read4 讀取 N 個字元

2021-10-08 23:41:23 字數 1989 閱讀 9731

題目描述:

給你乙個檔案,並且該檔案只能通過給定的 read4 方法來讀取,請實現乙個方法使其能夠讀取 n 個字元。

read4 方法:

api read4 可以從檔案中讀取 4 個連續的字元,並且將它們寫入快取陣列 buf 中。

返回值為實際讀取的字元個數。

注意 read4() 自身擁有檔案指標,很類似於 c 語言中的 file *fp 。

read4 的定義:

引數型別: char buf4

返回型別: int

注意: buf4 是目標快取區不是源快取區,read4 的返回結果將會複製到 buf4 當中。

下列是一些使用 read4 的例子:

file file(「abcde」); // 檔名為 「abcde」, 初始檔案指標 (fp) 指向 『a』

char buf4 = new char[4]; // 建立乙個快取區使其能容納足夠的字元

read4(buf4); // read4 返回 4。現在 buf4 = 「abcd」,fp 指向 『e』

read4(buf4); // read4 返回 1。現在 buf4 = 「e」,fp 指向檔案末尾

read4(buf4); // read4 返回 0。現在 buf = 「」,fp 指向檔案末尾

read 方法:

通過使用 read4 方法,實現 read 方法。該方法可以從檔案中讀取 n 個字元並將其儲存到快取陣列 buf 中。您 不能 直接操作檔案。

返回值為實際讀取的字元。

read 的定義:

引數型別: char buf, int n

返回型別: int

注意: buf 是目標快取區不是源快取區,你需要將結果寫入 buf 中。

示例 1:

輸入: file = 「abc」, n = 4

輸出: 3

解釋: 當執行你的 read 方法後,buf 需要包含 「abc」。 檔案一共 3 個字元,因此返回 3。 注意 「abc」 是檔案的內容,不是 buf 的內容,buf 是你需要寫入結果的目標快取區。

示例 2:

輸入: file = 「abcde」, n = 5

輸出: 5

解釋: 當執行你的 read 方法後,buf 需要包含 「abcde」。檔案共 5 個字元,因此返回 5。

示例 3:

輸入: file = 「abcdabcd1234」, n = 12

輸出: 12

解釋: 當執行你的 read 方法後,buf 需要包含 「abcdabcd1234」。檔案一共 12 個字元,因此返回 12。

示例 4:

輸入: file = 「leetcode」, n = 5

輸出: 5

解釋: 當執行你的 read 方法後,buf 需要包含 「leetc」。檔案中一共 5 個字元,因此返回 5。

你 不能 直接操作該檔案,檔案只能通過 read4 獲取而 不能 通過 read。

read 函式只在每個測試用例呼叫一次。

你可以假定目標快取陣列 buf 保證有足夠的空間存下 n 個字元。

方法1:

主要思路:

(1)使用乙個大小為4個字元的中間緩衝區,呼叫read4函式,直到讀到指定的 n 個字元,或讀取了全部的輸入字元;

/**

* the read4 api is defined in the parent class reader4.

* int read4(char *buf);

*/class

solution

}return sum;}}

;

read命令還可以這樣用!

shell下的read命令的作用是從標準流中讀取輸入,並把讀取的內容放到某個變數中。1.t引數給使用者的輸入做限時規定 2.引數 n規定read後面的變數所接收的字元個數。只要在shell介面輸入到 n所規定的字元數之後,shell變數立即被賦值。若是沒有得到所規定的字元數,shell介面給予等待。...

157 掃瞄器使用

雙面影印,上面朝向自己為影印的上方!安裝驅動程式 colornetworkscangear v271 win zh setup.exe 安裝完成後,對照說明檔案進行配置,下面擷取 windows 7 的部分。對於 windows 7 1 單擊 開始 指向 控制面板 然後依次單擊 系統和安全 wind...

1 5 7 Python匿名函式

1.匿名函式的核心 一些簡單的需要用函式去解決的問題,匿名函式的函式體只有一行 2.引數可以有多個,用逗號隔開 3.返回值和正常的函式一樣可以是任意的資料型別 請把下面的函式轉換成匿名函式 def add x,y return x y add 結果 sum1 lambda x,y x y print...