字符缓冲区是否有最大大小?我有一个程序正在为char缓冲区收集字符串并将其写入proc文件。在某一点后,它似乎停止写东西 - 那里有太多东西吗?什么是最大尺寸,我可以解决这个问题?C中字符缓冲区的最大大小?
这是代码。这是一个LKM - 是内核空间提供的limits.h文件吗?
为本:
const char* input = "hooloo\n";
下一页:
int read_info(char *page, char **start, off_t off, int count, int *eof, void *data)
{
unsigned int mem;
char answer_buf[strlen(input) + 1 + 14];
name_added = vmalloc(strlen(input) + 1 + 14);
strcpy(name_added, input);
strcat(name_added, extension);
mem = sprintf(answer_buf, "%s\n", name_added);
memcpy(page, answer_buf, mem);
return strlen(answer_buf) + 1;
}
所有在我的代码是这样的事情是事情remalloc缓冲区,并添加到它。此外,该read_info是为procfile。这个问题是我一直向上面的代码中添加上面的代码 - 最终我加入了我的proc文件和文本中断 - 它不会像我想要的那样永远持续下去) - =。
显示代码。 'buffer'是一个静态数组还是'malloc'ed? –
字符串大小总是令人头痛......它通常由您的使用和运行平台来近似。我经常使用的两种尺寸是255和10000 – texasbruce
'begin_input'变成了多长时间? 'char answer_buf [strlen(begin_input)+ 1 + 14];如果堆栈变大,可能会溢出。 –