buffer相关内容

渲染缓冲上Windows屏幕

我在寻找一种方式呈现一个字符缓冲区到一个窗口的内容区域。这只是假,但为了证明我真正想要做的: 字符缓冲区[300] [200] [3]; // 300像素x 200像素RGB点¯x字节 // ...渲染的东西到缓冲区 FancyWindowsFunctionToRenderBufferOnWindow(my_hwnd,缓冲液,300,200,offset_x,offset_y); 有没有办法 ..
发布时间:2016-08-23 12:00:55 C/C++开发

为什么移动缓冲区指针减慢FREAD(C编程语言)?

我使用读1 GB的文件的 FREAD 在C.我读在1MB块的文件,使用以下循环: FILE * FP; FP = FOPEN(文件名,“RB”);无符号字符* BUF; BUF =的malloc(CHUNK_SIZE);对于(i = 0; I< NUMBER_OF_CHUNKS ++ I) { FREAD(BUF,CHUNK_SIZE,1,FP); //使用缓冲区的内容的东 ..
发布时间:2016-08-23 11:18:49 C/C++

CHAR名称[1]为什么持有超过1个字符吗?

我在做的有关课题研究的一点点,当我遇到这种情况就来了。 假设下面的C code: 的#include<&stdio.h中GT; 诠释主(){ CHAR名称[1]; scanf函数(“%S”,名); 的printf(“嗨%的”,名); 返回0; } 我和 -fno-堆栈保护,并输入测试它长于1,如约翰&安培;出乎我的意料,它的工作原理!结果 难道不应该扔分割故障当输入的长度超过1?结果 ..
发布时间:2016-08-23 11:02:31 C/C++

用`接近`INT_MAX` count`值数据通信

消息传递接口的API,总是用 INT 作为类型计数变量。例如,原型为 MPI_SEND 是: INT MPI_SEND(常量无效* buf中,诠释计数,MPI_Datatype数据类型,INT DEST,INT标签,MPI_Comm COMM); 这可能是一个问题,如果要发送或接收的元素个数的增长接近甚至有所超越 INT_MAX 。 当然,这个问题可能会得到解决降低的值数有两种方法: ..
发布时间:2016-08-23 10:40:23 C/C++开发

为什么多线程时关闭标准输出缓冲区?

我想学的多线程,我有一个简单的问题。 :在大多数例子中我发现,标准输出缓冲区让多线程与使用它之前关闭 则setbuf(标准输出,NULL); 为什么呢? codeS打印相同的,如果我删除他们这一行! 解决方案 有可能的,他们不会打印出来的一样 - 当输出缓冲,可能无法显示马上可以改变的顺序行在线程之间输出。 关闭缓冲确保你知道为了语句被处决的。 ..
发布时间:2016-08-23 10:38:51 C/C++

有什么用-fno堆栈保护器?

我已经用C语言编写的应用程序,和我想要了解什么是在编译时指定了-fno-堆栈保护命令的目的。对于我的具体应用,这都没有区别,如果我在防止缓冲区溢出方面使用此命令或没有。 我看了网上的-fstack保护器和-fno-堆栈保护命令启用和禁用分别堆栈溢出保护功能,但如果我编译应用程序自己,如何保护预先启用?是否命令的用法也许依靠什么系统中的应用在其上运行? 感谢 解决方案 在标准/股的GCC ..
发布时间:2016-08-22 16:42:34 C/C++

ç的Windows缓冲区大小

在窗户可以说我使用了的recv 函数从套接字接收数据。 我很好奇,有多大将最佳的缓冲区呢?我可以使它 1024 字节或者我可以使它 51200 字节或更大。我不知道哪一个会获得更好的性能。 这不仅适用于的recv 的功能,可以说即时阅读了大量的文本文件,做我想做一个非常大的缓冲区或较小的缓冲区 解决方案 操作系统执行自己的缓冲,所以你的缓冲区的大小并不重要。性能损失在于函数调用:一个1 ..
发布时间:2016-08-22 15:21:08 C/C++

集管缓冲区大小

我有一个使用POSIX管道,以有效地执行线程间通信的C ++多线程应用程序(所以我没有让疯狂的死锁)。 我已经设置了写操作非阻塞的,所以如果没有在缓冲区足够的空间来写作者会得到一个错误。 IF((管(pipe_des))== -1) 扔PipeException();INT标志=的fcntl(pipe_des [1],F_GETFL,0); //设置写操作非阻塞 断言(旗!= -1) ..
发布时间:2016-08-21 22:17:57 C/C++

黑客挑战 - 在code定位漏洞

我的朋友最近完成了黑客的挑战,并把它交给我(二进制和源代码)。我想问这里之前我问他小费,因为我想自己做:) 我已经经历,但我在努力寻找漏洞。 的#include< alloca.h> #包括LT&;&stdio.h中GT; #包括LT&;&string.h中GT; #包括LT&;&stdlib.h中GT;静态无效的用法(为const char * argv0){ 的prin ..
发布时间:2016-08-21 20:43:17 C/C++

获取关于C中插座可用的字节由'的recv'与'MSG_PEEK'的数量++

C ++具有以下功能接收来自插座字节,它可以检查可用MSG_PEEK标志的字节数。随着MSG_PEEK标志'的recv'的返回值是字节的插座可用的数量。 的#include< SYS / socket.h中> ssiz​​e_t供的recv(INT插座,无效*缓冲区,为size_t长度,诠释标志); 我需要在插座可用的字节数,而无需创建“缓冲”(即不为'缓冲'分配内存),这可能吗 ..
发布时间:2016-08-21 20:33:52 C/C++

什么时候scanf函数启动和停止扫描?

这似乎 scanf函数开始扫描输入时输入键pressed,我想用$ C,以验证该低于$ C(我消除错误检查和处理简单)。 的#include<&stdio.h中GT;INT主(INT ARGC,字符** argv的){ / *禁用缓存* / setvbuf用来(标准输入,NULL,_IONBF,0); INT编号; scanf函数(“%d个”,&安培;号码); ..
发布时间:2016-08-21 20:30:43 C/C++

用C缓冲和无缓冲输入

有没有办法找出输入是缓存或无缓冲(除了手册页。)?我们不能用看的函数的名称弄清楚? 也为呼应和 nonechoing ... 对于快速参考在哪里可以找到它具有缓冲,无缓冲,呼应的细节清单和 nonechoing 输入? 解决方案 的所有的 stdio.h中用于从文件可能会出现的或者的“缓冲”或“无缓冲”的行为,而或者的“呼应”或“非呼应”的行为。什么控制这些东西是不是哪个函数使用,但在 ..
发布时间:2016-08-19 16:17:18 C/C++

c char字符数组初始化

我不知道会在以下几个方面初始化之后的char数组中的内容。 1 字符BUF [10] =“”; 结果 2. 字符BUF [10] =“”; 结果 3. 字符BUF [10] =“A”; 有关情况2,我觉得 BUF [0] 应“, BUF [1] 应'\\ 0',并从 BUF [2] 到 BUF [9] 将是随机的内容。对于情况3,我觉得 BUF [0] 应'A', BUF [ 1] 应该是 ..
发布时间:2016-08-19 15:34:34 C/C++

撤消与ungetc()的作用:"如何" fseek的做(),快退()和fsetpos()做呢?是缓冲每次重新填充?

哼!我怎样将整个事情在一个清晰的问题!让我来试试: 据了解,现在使用的文件打开 fopen()函数被缓存到memory.We使用缓冲区的效率,并从文件ease.During读,内容文件首先被读取到缓冲器,我们从buffer.Similarly,在该文件的写入时,内容被写入到缓冲器,然后再对文件读 但什么 fseek的(), fsetpos()和退() 丢弃的previous的效果调用与unge ..
发布时间:2016-08-19 14:41:15 C/C++

c - 从中​​读取标准输入的字符被键入

我如何用字符填写一个80字符缓冲区,因为他们正在进入或直到回车键为pressed,或缓冲区已满,以先到为准。 我已经研究过很多不同的方式,但进入已被pressed则输入字符*得到80切断。 感谢。 解决方案 如果你真的想要的人物“,因为他们输入”,你不能用C IO。你必须做它的UNIX方式。 (或窗口方式) 的#include<&stdio.h中GT; #包括LT&;&unis ..
发布时间:2016-08-19 14:33:55 C/C++

sprintf的缓冲区大小

我是一个新手程序员,但通常我可以解开我自己的问题。这一次,我解决了这个问题,但它仍然树桩我。一个朋友建议我问这个社区输入。 我想打印C.数字我有一个函数来做到这一点使用的sprintf。这些数字不应该超过2位数,所以我用一个2字符缓冲区。不知怎的,这是我的逻辑失败,因为这通过修改传递给sprintf的变量之一,但增加缓冲大小解决了问题导致无限循环。 下面是失败的code: 的#include ..
发布时间:2016-08-19 14:25:04 C/C++

我怎么能写一个ANSI C控制台屏幕缓冲区?

我正在做一个基于ASCII游戏,到处看人说用从MSDN Console.Write(),这是花花公子,所有如果你使用的是Windows,但我不是。 就这样,我想编写一个函数或函数组C,它可以在两个屏幕缓冲区之间交替,并将其写入到屏幕上,类似于手册页会是什么样子,以及微微, VIM,和emacs。 我有缓冲的工作,并发现了一个使用C和的putchar()在屏幕上的每个字符放在Linux的所谓0v ..
发布时间:2016-08-19 13:51:57 C/C++

从文件流在C获取数据

我想中检索出的数据文件指针,并成为一个字符串。什么是确定字符串缓冲区大小的最好方法? 字符字符串[WHAT_SIZE?] FILE * FP; FP = FOPEN(“info.dat”,“R”);与fgets(字符串,字符串的sizeof,FP); 我是否设置缓冲区大小的东西,我认为是适合于特定的文件?或者是有一个更有效的方式做到这一点,而不使用字符串与非可变的缓冲区大小? 解决方案 ..
发布时间:2016-08-19 00:28:14 C/C++

使用%* C的危害,清除缓冲区scanf函数

有什么危险,使用在scanf中的%* C()必要时清除缓冲区。 例如: 字符℃; 的for(int i = 0;我小于5;我++){ scanf函数(“%C%* C”,和C); } 或者的char * str中; 焦炭℃; INT I; scanf函数(“%S”,STR); scanf函数(“%D%* C”,&安培; I) scanf函数(“%C%* C”,和C); 如果有是缓冲区 ..
发布时间:2016-08-18 23:41:43 C/C++

如何确定一个分配的C缓冲区的大小?

我有一个缓冲区,并想要做一个测试看是否缓冲区具有足够的容量,即找到的元素个数,我可以添加到缓冲区。 的char *缓冲区=(字符*)malloc的(的sizeof(字符)* 10); 做一个 INT numElements个= sizeof的(缓冲); 不返回10,我如何能做到这一点任何想法? 解决方案 缓存只是没有大小信息的指针。然而,的malloc()例程将持有分配的大小你做, ..
发布时间:2016-08-18 23:28:45 C/C++