我正在尝试使用int
将在命令行上传递的参数转换为atoi
,但无论字符串是小还是大,它都会永远消失。有什么想法吗?
int main(int argc, char *argv[]) {
int id;
int v[5];
id=atoi(argv[2]);
v[0]=atoi(argv[3]);
v[1]=atoi(argv[4]);
v[2]=atoi(argv[5]);
v[3]=atoi(argv[6]);
v[4]=atoi(argv[7]);
//conversion must be taking forever; this is never printed
printf("%d %d %d %d %d %d", id,v[0],v[1],v[2],v[3],v[4]);
return 0;
}
答案 0 :(得分:2)
我怀疑你是Suffering from Buffering。将您的printf
行更改为
printf("%d %d %d %d %d %d\n", id,v[0],v[1],v[2],v[3],v[4]);
请注意添加的换行符\n
。