zoukankan      html  css  js  c++  java
  • 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 the read4 API, implement the function int read(char *buf, int n) that reads n characters from the file.

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

    注意:It assumes only read less than n chars, even if the there are more than n chars in a file.

    public int read(char[] buf, int n) {
      boolean eof = false;      // end of file flag
      int total = 0;            // total bytes have read
      char[] tmp = new char[4]; // temp buffer
      
      while (!eof && total < n) {
        int count = read4(tmp);
        
        // check if it's the end of the file
        eof = count < 4;
        
        // get the actual count
        count = Math.min(count, n - total);
        
        // copy from temp buffer to buf
        for (int i = 0; i < count; i++) 
          buf[total++] = tmp[i];
      }
      
      return total;
    }

    reference:https://discuss.leetcode.com/category/166/read-n-characters-given-read4

  • 相关阅读:
    C#调用C++编译的DLL--
    Visual studio 生成后事件说明
    页面缓存
    片段缓存
    数据缓存中的依赖关系
    四十条测试你是不是合格的PHP程序员
    YII的关联查询
    views中的公共代码放在一起
    html中出现的script失效
    Linux配置apache等系列
  • 原文地址:https://www.cnblogs.com/hygeia/p/5702953.html
Copyright © 2011-2022 走看看