主要功能卡在循环中而没有进入循环
Main function stuck in a loop without it entering one
我有一个任务是在 Linux 中对 tail 命令进行基本实现,它进行得很顺利,但是当我 运行 它只是转到下一行并且什么也没做。这是代码:
int main(int argc, char *argv[])
{
int counter;
printf("program started");
if(argc == 1)
{
printf("hello1");
tailSTDIN();
}
else if(argc == 2)
{
printf("here");
tailFile(argv[1]);
printf("tailed");
}
else for(counter = 0; counter < argc; counter++)
{
printf("loop");
if(argv[argc] == "-")
{
printTitle("standard input");
tailSTDIN();
}
else
{
printTitle(argv[counter]);
tailFile(argv[counter]);
}
}
return 0;
}
好的,所以问题是它只是卡住了,它甚至没有到达第一个 printf()
,它说 program started
,它只是在等待一些东西。这与我给出了多少论据或论据无关。
如果您认为您需要包含其余功能的完整代码,我会把它放进去,但问题是它永远不会到达调用它们的地步。
当您使用 stdout 输出行时,缓冲直到整个缓冲区被填满或遇到换行符。
用 \n 字符终止你的行:
printf("program started\n");
你会得到你的输出。
我有一个任务是在 Linux 中对 tail 命令进行基本实现,它进行得很顺利,但是当我 运行 它只是转到下一行并且什么也没做。这是代码:
int main(int argc, char *argv[])
{
int counter;
printf("program started");
if(argc == 1)
{
printf("hello1");
tailSTDIN();
}
else if(argc == 2)
{
printf("here");
tailFile(argv[1]);
printf("tailed");
}
else for(counter = 0; counter < argc; counter++)
{
printf("loop");
if(argv[argc] == "-")
{
printTitle("standard input");
tailSTDIN();
}
else
{
printTitle(argv[counter]);
tailFile(argv[counter]);
}
}
return 0;
}
好的,所以问题是它只是卡住了,它甚至没有到达第一个 printf()
,它说 program started
,它只是在等待一些东西。这与我给出了多少论据或论据无关。
如果您认为您需要包含其余功能的完整代码,我会把它放进去,但问题是它永远不会到达调用它们的地步。
当您使用 stdout 输出行时,缓冲直到整个缓冲区被填满或遇到换行符。 用 \n 字符终止你的行:
printf("program started\n");
你会得到你的输出。