2013-10-11 78 views
3

對於我的項目,我們應該讀取一個文件並將其反向複製。我難以忍受的部分是如何讓程序從命令行讀取文件,因爲我不知道將使用哪個文件來測試該文件,而且我沒有給定的txt文件。有沒有辦法將變量分配給尚未聲明的文件,並創建一個顯示反向txt的新文件?對不起,如果這不明確,我會盡可能清楚,如果你需要我。有沒有辦法初始化尚未讀取的文件c

+0

你想從stdin讀取或從args讀取參數並打開基於該參數的文件? –

+3

您可以使用'main'的'argc'和'argv'參數從命令行讀取文件名。 –

回答

1

使用在創建main時聲明的argv []數組傳遞文件名。因爲C中的fopen採用char或char數組,您可以通過命令行打開指定的文件。對於您需要的所有信息,請使用我鏈接的網站。

http://www.cprogramming.com/tutorial/c/lesson14.html

0

從命令行,你可以通過文件寫一些東西和文件,該文件將被扭轉

Your program looks like 

int main(int argc,char *argv[]) 
{ 
//... 
return 0; 
}  

編譯

gcc program.c -o out 

您需要將文件這樣

./out file_to_write file_to_write_in_reverse 

------------------------------------------------ - - - - - - 要麼 - - - - - - - - - - - - - - - - - - - --------------------------------

在你的程序

使用fgets()和讀取的文件名file_to_write

您可以創建一個文件。

fopen()+ w+ mode 

寫入數據,例如寫入字符串到文件

`fprintf()` or `fputs()` 

使用fgets()和閱讀的file_to_write_in_reverse

另一個文件名file_to_write_in_reverse創建

fopen()+ w mode 

現在使用fseek()fgetc() a nd fputc()

+1

好的,謝謝,我打開打開(args [1],「r」);閱讀它。另外我不應該使用fopen(),fread(),fwrite()等,但從我的理解,我可以在它的位置使用open(),write()和read()。 – user2872131

+0

是的你可以使用'open()','write()'和'read()'。如果你想在閱讀模式文件中打開文件應該存在。如果你想用寫模式創建文件使用打開。 – Gangadhar

+0

@ user2872131如果你覺得這有幫助,請[接受](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)它 – Gangadhar

相關問題