157. Read N Characters Given Read4

The API:int read4(char *buf)reads 4 characters at a time from a file.

The return value is the actual number of characters read. For example, it returns 3 if there is only 3 characters left in the file.

By using theread4API, implement the functionint read(char *buf, int n)that readsncharacters from the file.

Example 1:

Input: 
buf ="abc", n = 4

Output:
"abc"

Explanation: The actual number of characters read is 3, which is "abc".

Example 2:

Input: buf = "abcde", n = 5 

Output: "abcde"

Note: The readfunction will only be called once for each test case.

Thoughts:

  1. Having a position counter: end to keep track the current reading position

  2. return the min of end and the n: min(end,n)

Last updated

Was this helpful?