gpt4 book ai didi

c - 当我按下一个键时读取文本文件中的每一行? C编程

转载 作者:太空宇宙 更新时间:2023-11-04 02:34:29 25 4
gpt4 key购买 nike

我知道如何在 while 循环中使用 fgets 来读取整个文本文件,但我如何在该循环中按下一个键,以便它一次读取另一行?

我尝试了一个简单的 printf("Press any key\n") getchar() 但没有任何反应,我运行了程序,它什么也没做,甚至没有显示第一行。我假设这可能是一个愚蠢的问题,但我找不到如何做到这一点:(

这是我尝试过的:

/*  gcc readline.c -Wall -o read */

#include <stdio.h>
//#include <stdlib.h>

int main (int argc, char *argv[]) {

char url[]="dbus.log";
FILE *arq;
char info[1000];

arq = fopen(url, "r");

while (fgets(info, sizeof(info), arq) != NULL) {
printf("%s", info);
printf("Press Any Key to Continue\n");
getchar();
}

fclose(arq);
return 0;
}

最佳答案

程序没有显示提示,因为 stdio 已缓冲并且您​​没有刷新。使用 fflush(标准输出);以确保产生缓冲输出。

像这样:

fflush(stdout);
getchar();

另请注意,默认情况下 stdin 处于“熟化”IO 模式。按下 enter 将产生一个字符,但其他字符将被缓冲,直到按下 enter。

关于c - 当我按下一个键时读取文本文件中的每一行? C编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39300968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com