我是初学者,我需要知道如何在C中打印整个帮助页面。
我在尝试:
unsigned short * entireHelpPage;
unsigned int * someString:
printf("comparing %s to %s", someString, entireHelpPage);
这是打印这样的东西:
comparing Dog to Dog is a domestic animal.. blah blah.. Dogs are bred in mos
正如您将看到,当我尝试打印时,整个帮助页面没有完全显示。
请让我知道如何打印整个帮助页面。
答案 0 :(得分:0)
使用循环来解决printf()
或潜在的内存/显示问题。
OP正在遇到某些问题。 printf()
应该能够在遇到问题之前打印至少4095个字符。要解决不符合问题,请使用循环。要查找意外的不可打印字符,请以特殊方式打印出来。
const char *s = (const char *) entireHelpPage;
fputs(">", stdout);
while (*s) {
if (isgraph(*s)) {
fputc(*s, stdout);
}
else {
fprintf(stdout, "[%02X]", (unsigned) *s);
}
s++;
}
fputs("<\n", stdout);
此外:使用unsigned short *
作为指向char*
数据的指针很奇怪。我怀疑entireHelpPage
的拖尾内存指针被代码意外覆盖了。可能是entireHelpPage
是一个大约400字节的缓冲区,并且对于帮助页面而言不够大。