由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 讨论一下FB的经典题read和readline吧
相关主题
问 Implement readline using read4096看到一个c的面试题,求教。
LC的简单版Read4是这样吗?问一道关于reverse a C-string的问题
GF面经谁给我这个non-cs的解释一下什么endian和可能的考题啊?
fb面试题【转】一道基础的C类型转换面试题懂得有点晕
请教:string pattern match 题贡献一个G家面试题
昨天的F家店面贡献一个Java 程序 面试题,看不懂为啥。请指教!
FB临门一脚挂了,那种郁闷悔恨的感觉.能有人稍微给我解释下read4 java的leetcode给出的解法吗?半懂
问个bit struct的面试题 急几道微软面试题
相关话题的讨论汇总
话题: ptr话题: buf话题: remain话题: int话题: bytes
进入JobHunting版参与讨论
1 (共1页)
h**o
发帖数: 548
1
出境率很高,但众说纷纭,没看见合适的答案。
贴一个我的吧,包括read(dst, n) 和readline(). 欢迎讨论.
#define FOURK 4096
class readbuf{
readbuf(){remain = 0; ptr = 0;}
char buf[FOURK];
int ptr; //start ptr of buf to catch
int remain; //byte remains in buf
int readN(char*dst, int n);
int readLine(string& s);
};
int readbuf::readN(*dst, int n){
if (!dst) return 0;
int bytes = 0;
while(n>0){
if (remain==0) {nRead = read4K(buf); remain = nRread; ptr = 0;}
min = min(n, remain);
bytes+=memcpy(dst+bytes, buf, min);
ptr+=min; n-=min; remain-=min;
//break bcz no more.
if (nRead }
return bytes;
}
int readbuf::readLine(string& s){
int bytes = 0; bool endline = false;
while(1){
if (remain==0) {nRead = read4K(buf); remain = nRread; ptr = 0;}
for(; ptr< FOURK && remain>0;ptr++, remain--) {
s.append (buf[ptr]); bytes++;
if (buf[ptr] == '
h**o
发帖数: 548
2
int readbuf::readLine(string& s){
int bytes = 0; bool endline = false;
while(1){
if (nsize==0) {nRead = read4K(buf); nsize = nRread; ptr = 0;}
for(; ptr< FOURK && nsize>0;ptr++, nsize--) {
s.append (buf[ptr]); bytes++;
if (buf[ptr] == ' 0 ' || buf[ptr] ==' n') endline=true;
}
if (endline || nRead }
}
1 (共1页)
进入JobHunting版参与讨论
相关主题
几道微软面试题请教:string pattern match 题
分享一道电面题,兼下午Onsite攒人品求祝福昨天的F家店面
这个G题是DFS还是DPFB临门一脚挂了,那种郁闷悔恨的感觉.
请教一道老题目问个bit struct的面试题 急
问 Implement readline using read4096看到一个c的面试题,求教。
LC的简单版Read4是这样吗?问一道关于reverse a C-string的问题
GF面经谁给我这个non-cs的解释一下什么endian和可能的考题啊?
fb面试题【转】一道基础的C类型转换面试题懂得有点晕
相关话题的讨论汇总
话题: ptr话题: buf话题: remain话题: int话题: bytes