我是初学者,我需要知道如何用 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
正如您所看到的,当我尝试打印整个帮助页面时,它没有完全显示。
请告诉我如何打印整个帮助页面。
最佳答案
使用循环来解决 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 字节的缓冲区,对于帮助页面来说不够大。
关于c - 如何打印一个巨大的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19268037/