2010-11-18 9 views
0

私はプログラムでsystem()コールを使用しています。これはcライブラリにあります。最初の9回の呼び出しでは、10回目の呼び出しが256を返した後に '0'(ゼロ)を返します。何を意味するのか分かりません。誰でも助けてください。コードsystem()コールの問題

int returnValue= system("/system/bin/cat /dev/graphics/fb0 > /tmpdata/Screenshot/screenshot.bin"); 
+0

Androidのどのバージョンですか? –

+0

Android 2.1(Eclair) – Kantesh

答えて

1

の行され、以下の一般的なUNIXコマンドcatを扱うthis man pageによると、> 0エラーコードは単純にエラーが発生したことを意味します。

The following exit values shall be returned: 

0 
    All input files were output successfully. 
>0 
    An error occurred. 

あなたsystem()コールは2つのファイルをconcatentateしようとしているので、おそらくスペースの問題がありますまたは多分、ソースファイルが存在しません。

最近のsource code for Android cat(cat.c)を見てみると、catの中でエラーを引き起こすようなものがいくつか表示されます。

+0

システムへの呼び出し回数には制限がありますか?毎回10回目のコールで壊れてしまうからです。 – Kantesh

+0

@Kanteshいいえ - あなたが好きなだけSystem()を呼び出すことができます**それを呼び出す**の効果(新しいデータの作成)は制限を引き起こしています –

+0

私はそれが完了するたびにアクティビティの再開を解決しましたシステムコール。セッションや何かがあると思います。アクティビティを再起動すると、プロセスは再起動され、リセットされます。 – Kantesh

関連する問題