2016-12-16 4 views
-2

私の割り当てのために、ディレクトリを作成する関数を書く必要がありますが、SYS関数をまったく使用することはできません!他の方法はありますか?私はどこでもそれを探してきましたが、実際に動作するものは見つかりませんでした。 この機能は少なくともLinux上で動作する必要があります。Cプログラムでディレクトリを作る

+2

質問ではなく、私のコード要求を明記しているので、この質問を議論の対象外としています。まず[Ask]ページをお読みください。 :) –

+1

あなたの研究/デバッグの努力をこれまでのところ表示してください。まず[Ask]ページをお読みください。 –

+0

私はそれを読んだが、私は何も見つけ出していない。私が見たすべてのコードは、library/stat.hやその他のシステム関数を使用しています。そして、はい、私はそれのためにとにかく見つけることができないので、私のコード要求を書いています。関数名を知っていれば、それを使用する方法をチェックします。 –

答えて

-1

#include <direct.h> 
int _mkdir(const char *dirname); 
+1

私の知る限り、直接ライブラリはMicrosoft Windows用です。私のプログラムはLinux上で機能している必要があります。 –

0

をお試しくださいまた、system()機能を確認することができます。

#include <stdlib.h> 
int system(const char *command); 
+0

私はこの機能を使用できません。 –

+0

どの機能/ヘッダーを使用することができますか? –

1

これは、Linux上で動作するはずです(あなたは「SYS機能」で何を意味するかわからないので、それが禁止される可能性があります):制限がある

#include <sys/stat.h>  
mkdir("/tmp/foobar", 0); 
+0

ありがとう、私はsys/stat.hライブラリを使用することはできません。 –

+0

@MohammedFarahmand: 'sys/stat.h'は" * library * "ではなくヘッダファイルです。 – alk

0

場合「で宣言された任意の関数を使用することはできませんsys "で始まるファイルをインクルードすると、これはプログラミング演習よりもパズルのように聞こえます。しかし...

(それは良い選択のように見える場合、またはexec*家族の中で別の関数)あなたが最初の子はexeclを呼び出した後に、forkを呼び出す関数を記述することができます。 forkとの両方が利用可能であり、#include <unistd.h>が実行された後に宣言されます。残念ながら、これは子供の後にきれいにするためにwaitpidに電話をかけることができないので、あなたがそれを呼び出すたびにゾンビを残します。

また、mkdirint mkdir(const char*, unsigned int);と宣言することもできます。

この2つの解決策のどちらが最悪かはわかりませんが、どちらも「正常なコード」に近づくものでは何も期待しないものです。

+0

はい、本当に混乱しています。私のクラスメートの大部分は今、私たちのTAにメッセージを送ります...その仕事のためのアセンブリコードはありますか? –

関連する問題