Tag: peek

查看输入缓冲区,并刷新C中的额外字符

如果我想在C中接收一个字符输入,我将如何检查是否发送了额外的字符,如果是,我将如何清除它? 是否有一个像getc(stdin)一样的函数,但它不会提示用户输入一个字符,所以我可以把while(getc(stdin)!=EOF); ? 或者是一个查看缓冲区中下一个字符的函数,如果它没有返回NULL(或者其他任何东西),我可以调用一个(nother)函数来刷新stdin? 编辑 所以现在,scanf似乎正在做的伎俩,但有没有办法让它读取整个字符串,直到换行? 而不是最近的空白? 我知道我可以将“%s%s%s”或其他任何内容添加到格式字符串中但是我可以处理任意数量的空格吗?

在C ++中使用’recg’和’MSG_PEEK’获取套接字中可用的字节数

C ++具有以下函数来从套接字接收字节,它可以检查MSG_PEEK标志可用的字节数。 使用MSG_PEEK ,’recv’的返回值是socket中可用的字节数: #include ssize_t recv(int socket, void *buffer, size_t length, int flags); 我需要在不创建buffer情况下获取套接字中可用的字节数(不为buffer分配内存)。 有可能吗?怎么样?

C相当于fstream的偷看

我知道在C ++中,你可以通过使用: in.peek();来查看下一个字符in.peek(); 。 当我试图“偷看”C中文件的下一个字符时,我该怎么做呢?