我想在我的C程序中不輸入輸入文件的名稱。當我對文件名進行硬編碼時,所有其他組件都能正常工作。但希望能夠傳遞一個字符串文件名。 我正在嘗試編譯一個名爲Matrix.c
的文件並將其可執行文件命名爲matrix
。如何在執行C程序時傳遞文件名
因此,在終端中,當我到達我的工作目錄。
gcc -g Matrix.c -o matrix
然後當我編譯
./matrix
它沒有傳遞給它一個文件名,所以我對於要去檢查,並讓用戶輸入一個文件名來加載。
然而,當有人通過文件名,是否應該通過爲:
./matrix filename.txt
或
./matrix < filename.txt
對於後者的選擇,我似乎無法得到參數的名稱從argv[1]
傳遞給函數 - 它只是「(空)」。
我知道這是非常簡單的問題。但是我完全擺脫了搖桿嗎?這與我在OS X El Capitan上運行有什麼關係。我知道我以前使用'<'的慣例。
我環顧四周,有很多不同的解決方案和不同的方法來處理它。 – WallofKron
你能向我們展示'matrix.c'的代碼嗎?使用'<'重定向不需要任何額外的參數,但是您使用'scanf','gets'讀取'stdin',無論您是否使用標準輸入。 –
當您使用<您將輸入從您的文件名重定向到您的程序。 –