我正在C中嘗試I/O重定向。我重定向標準輸入,以便可以在控制檯上打印包含在txt文件中的數字。如何在Mac上使用C I/O重定向?
int main() {
int number;
scanf("%d", &number);
printf("The number is %d.", number);
}
在Xcode中,我去Products文件夾,然後雙擊可執行文件來啓動控制檯。我發出此行:
./main.c < number.txt
控制檯打印出一個數字,但不是正確的。如果您願意,請下載這個簡單的項目here。我在這裏做錯了什麼?
更新
- 我遇到了
CSV
文件相同的問題; - 我檢查的
scanf()
的返回值,它是等於0 - 中包含的文件數是
4
(我把它改爲5
最近),但外殼的輸出The number is 1726119990.
「包含數字的CSV文件」?如果它只是一個數字,那麼它不是一個csv。它只是一個帶有數字的文本文件。顯示這個.csv文件中的內容 –
感謝您對@MarcB的評論。不能有一個CSV文件只有1行/列?我剛剛使用txt文件測試了該程序,並且shell仍在打印相同的數字。我感謝您的幫助。 – Cesare
你的可執行文件真的叫做'main.c'嗎?並檢查你的'scanf()'調用的返回值。它是'1'嗎? – cremno