我是新手,尤其是C编程。我正在努力学习C语言,但我真的很糟糕。因此,我希望在所有的大师指导和指导下,我将能够把握它。防止C缓冲区溢出
我有以下代码(但面临缓冲区溢出问题):
char buffer[1024];
int i=0;
char ch;
while((ch=getchar())!='\n'
{
If (ch==-1) break;
Buffer[i++] = ch;
}
为了阻止缓冲区溢出,我可以做以下?
const int BUFFSIZE=1024;
char ch;
int i=0;
while((ch=getchar())!=BUFFSIZE
{
If (ch==-1) break;
BUFFSIZE[i++] = ch;
}
预先感谢您!
1.你说你想学习C. 2.你的问题标题是C++。你标记了C#这个问题。哪一个? –
'BUFFSIZE [i ++]'? BUFFSIZE是** CONSTANT INTEGER **。你不能重新定义它的值,更不用说它作为** ARRAY **使用...... –
你有'const int BUFFSIZE = 1024;'所以不,你不能像'BUFFSIZE [i ++] = ch;'' 。此外,在你的版本之后,你的验证子句中有一个错误 - 首先,它必须位于括号之间,其次,它应该看起来像这样:while(ch = getchar()&& i
jmodrak