2017-01-30 5 views
0

ファンクションを使用してファイルを開きたいとします。これはコードです:ファンクションとしてファイルを開く

openFile("myFile", O_RDONLY); 

int openFile(char * name, int mode) { 
     int tempFd=0; 
     if ((tempFd=open(name, mode)) == -1) { 
      perror("Opening a file"); 
     } 
} 

とunfortunellyそれは私に私がCMDに書くことができるedingないループを与えています。私が間違ったことを教えてくれませんか?

+2

どのループ?ここにループはありません。 –

+2

関数からファイルディスクリプタを返さず、呼び出し元にファイルディスクリプタを割り当てない –

+0

[MCVE](https://stackoverflow.com/help/mcve)を作成できますか? – pzaenger

答えて

0

open()はすでに機能です。この問題は何が問題なのですか? myOpen()を元のopen()の代わりに使用するには、両方の関数が同じように見えます。私が想像することができる唯一の理由は、自分自身の機能を説明することです。多分、あなたはある種の「ラッパー」を望むでしょう。

int openFile(char * name, int mode) { 
     int tempFd=0; 

     // Do some task 

     if ((tempFd=open(name, mode)) == -1) { 
      perror("Opening a file"); 
     } 

     // Do some other task 

     return tempFd; 
} 
関連する問題