这段代码在我的机器上工作正常,但它不在我的学校服务器上。 该程序是一个简单的文本编辑器,当没有行号输入时,这一小部分只打印出错误。
这只是我代码的一部分。在我的机器上,当没有输入行号时,它转到if语句。但是,在服务器上,它没有,而是所有空格都变为“0”。
char c[6];
int line = 0;
cin.getline( c, 6 );
.
.
.
else if( c[0] == 'I' ){
line = atoi( &c[2] );
if( c[2] == '\0' ){
cout << "Missing line number for insert" << endl;
}
}
有什么想法吗?或者有人知道处理这个问题的更好方法吗?
答案 0 :(得分:1)
一种可能性是你在家里建立调试模式,在这种情况下你的'c'缓冲区用零初始化。在学校,你使用'release'模式构建,在这种情况下你的c缓冲区没有初始化,但会有不确定的值。
您应该使用带
之类的行初始化'c'缓冲区char c[] = {0,0,0,0,0,0};