如何将缓冲区打印到C 中的Stdout

How to print buffer to stdout within c++?

本文关键字:中的 Stdout 打印 缓冲区      更新时间:2023-10-16

如何在我的Stdout中打印一个缓冲区以进行调试?我目前是Xcode(用于iOS应用程序)中使用OpenGL的初学者,并且具有以下代码行。

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

我只是想在尝试时打印到控制台的缓冲区:fprintf(stderr, buffer);我会收到一个错误"无匹配函数以呼叫'fprintf'。

" fprintf"至少需要3个Argumens(输出文件,字符串格式,参数),而您仅提供2。C 编译器告诉您,找不到带有2个参数的FPRINTF的匹配签名。此外,还有一个问题要解决。缓冲区可能包含不可打印的字符,因此FPRINTF的正确调用可能不会给您带来预期的结果。我建议使用一种自定义的缓冲区打印方法,也许是在十六进制阵列中的这种打印炭缓冲区