やりたいことは以下のことです。
◎ユーザーはguestです。
unixのコマンドラインから、
dateコマンドで以下のように入力すると、
root権限がない場合はエラーが返って来ます。
guest@host>date 0516201006
(2006年5月16日20時10分に時刻を設定)
root権限がありません。
bindが失敗します。
◎ユーザーはguestのままです。
これをCプログラムの中で、
system("date 0516201006");
とやってもエラーはコマンドラインの方に表示されて、
プログラムの中では捕まえることが出来ません。
system命令ではなくて、popen命令を使用しても構いません。
プログラムの中で捕まえる方法を知りたいです。
errno表示でもperrorでもダメでした。
よろしくお願いいたします。
No.1
- 回答日時:
Cで時刻設定したいのなら、dateコマンドを使うのではなくgettimefdayシステムコールを使う方が良いと思いますよ。
エラーの把握も楽だし。ありがとうございました。
参考にさせて頂きます。
今回の問題点は、時刻を設定したいのではなく、あくまでも、system関数の戻り値を見たいということです。
No.2ベストアンサー
- 回答日時:
趣旨がちゃんとつかめてないのかもしれませんが…
system("date 0516201006");はエラーを起こす例として書かれているのですよね。
system()の終了コードはWEXITSTATUS()でgetすることができます。標準エラー出力は、/dev/nullにリダイレクトすれば表示されません。
-- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< --
#include <stdio.h>
#include <sys/wait.h>
#include <stdlib.h>
int
main(void)
{
int ret,stat;
ret = system("date 0516201006 2>/dev/null");
stat = WEXITSTATUS(ret);
printf("ret = %d, stat = %d\n", ret, stat);
return 0;
}
ありがとうございました!
system関数の戻り値を調べたかったので、
この回答を期待しておりました。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CAD・DTP Autocad Scriptファイルからの入力とコマンドラインからの入力が違う 1 2023/08/01 09:13
- Windows 10 Windows Updateの更新ができない場合に初期化 3 2023/01/18 20:00
- PHP プログラムコードを入力する場合改行してもいいですか? 2 2022/10/02 16:05
- C言語・C++・C# c言語 コマンドライン引数 4 2023/02/09 18:47
- PHP 掲示板を資料を参考にして開発中ですが、画像がアップされません? 1 2022/11/21 06:44
- Visual Basic(VBA) VBAで時間(00:00形式)を積算(足し算)したい 1 2022/11/15 17:04
- Visual Basic(VBA) Excelマクロでセルに値が入力されたら実行する 5 2023/08/06 11:03
- Excel(エクセル) DATE関数で指定する「日」のセルが関数の場合の対処法 5 2022/09/14 15:46
- Visual Basic(VBA) パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる 2 2022/08/22 22:51
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/10 09:15
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
コンパイルできません。
-
sys/time.hのインクルードがで...
-
HEWを使用しているのですが、こ...
-
ビルド時にinet_ptonが見つから...
-
RightとLeft関数のライブ...
-
multiple definitionというエラー
-
strcatについて
-
ビルドが失敗してしまいます
-
fortranでプログラムを実行する...
-
バッチからsqlplusの接続エラー...
-
LPCWSTRとchar
-
VB2008で定数に色の設定をした...
-
適切な変換関数が存在しない???
-
右オペランドを扱う演算子は定...
-
レコードセットをcloseする所で...
-
C言語でpgm形式の画像を読み込...
-
フォートランプログラムのエラ...
-
visual C++ でaruduinoとシリア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
適切な変換関数が存在しない???
-
Excelのエラーで困ってます。
-
バッチからsqlplusの接続エラー...
-
fortranでプログラムを実行する...
-
HEWを使用しているのですが、こ...
-
コンパイルできません。
-
デバッグ中のエラーのことで教...
-
visual C++ でビルドの中止がで...
-
BC30002: 型 'ListItem' が定義...
-
Handlesについて
-
sys/time.hのインクルードがで...
-
ビルド失敗 指定されたファイ...
-
VB2008で定数に色の設定をした...
-
RightとLeft関数のライブ...
-
multiple definitionというエラー
-
WindowsからLinuxへの移植
-
HANDLEの宣言でのエラー
-
レコードセットをcloseする所で...
おすすめ情報