2016-11-26 61 views
0

如何在我的stdout中打印一个缓冲区用于调试目的?我目前是一名在XCode内部使用OpenGL的初学者(适用于iOS应用程序),并具有以下代码行。如何在C++中打印缓冲区到标准输出?

GLubyte *buffer = (GLubyte *)malloc(myDataLength); 
glReadPixels(0, 0, 320, 480, GL_RGBA, GL_UNSIGNED_BYTE, buffer); 

我只是想尝试虽然当打印到控制台缓冲区:fprintf(stderr, buffer);我收到错误“找不到匹配函数调用‘fprintf中’

+0

迭代'GLubyte'中的单个内容,不管是什么,并单独打印每个值。 –

+0

@BrandonIbbotson谢谢,刚刚更新。 – user3197788

+0

@SamVarshavchik你介意分享一个例子吗? – user3197788

回答

-2

。‘fprintf中’至少需要3 argumens(输出文件,字符串格式,参数),而你只提供2个。C++编译器告诉你,找不到具有2个参数的fprintf的匹配签名。此外,还有一个问题需要解决。缓冲区可能包含非打印字符所以fprintf的正确调用可能不会给你预期的结果,我建议使用自定义的缓冲区打印方法,可能是这样的Printing char buffer in hex array

+2

fprintf只需要2个参数。 – stark