我的程序是经常获取文件大小并显示它以记录任何更改。出于某种原因执行下面的代码挂起,只是为我提供了一个游标。没有打印或显示任何内容。
代码:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char *argv[])
{
if (argc != 3)
{
printf("ERROR: Please enter correct amount of arguments.");
exit(0);
}
FILE *fp = fopen(argv[1], "r");
int time = atoi(argv[2]);
int size=0;
printf("Seconds File Size");
while(1)
{
fseek(fp, 0L, SEEK_END);
size = ftell(fp);
sleep(4);
}
fclose(fp);
}
答案 0 :(得分:1)
主要问题是你输入一个字符串到缓冲区,然后在确保将缓冲区刷新到屏幕之前输入一个无限循环。
printf("Seconds File Size");
fflush(stdout);
其他问题:
fopen()