[英]Reading text file from terminal line?
因此,我知道要讀取和打印一行文本,您只需使用printf
, scanf
並將其鍵入即可。 但是,如果我想打印一個文本文件而不在終端中鍵入它們怎么辦? 我並不是說要使用fopen(filename, "r")
在這里只能打開一個特定的文件。 我認為這稱為重定向,但是我在理解它時遇到了麻煩。 如下面的輸入示例所示:
./myprogram < input.txt
這是重定向備忘單 。 我們感興趣的行是:
cmd < file
:將cmd < file
的內容重定向到cmd < file
的標准輸入(stdin)。
這是一個簡單的示例,將打印input.txt
文件的內容。 與手動輸入相比,該程序將永遠不會等待,並且將循環運行直到到達文件的末尾( 注意:在某些情況下,該末尾沒有結束,您可能想要添加替代的中斷條件 )。
#include <stdio.h>
int main(void)
{
char buffer[100];
while (fgets(buffer, 100, stdin))
printf("%s", buffer);
return (0);
}
./myprogram < input.txt
將打印您的input.txt ./myprogram
將等待您的手動輸入並打印您剛剛輸入的內容。 這與您要求的不完全相同,但是您可以將文件名作為參數放入argv [1]中,然后使用fopen
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.