質問ですよ。
■ このスレッドは過去ログ倉庫に格納されています
0001出題者
NGNGint main(void)のままで行う事が要求仕様です。
(mainに引数はなし)
0002名無しさん@お腹いっぱい。
NGNGprintf( "%s\n"@` argv[0] );を試してみよう。
*今実行している関数名なら
C99から取り入れられた__FUNC__マクロを試してみよう。
0003名無しさん@お腹いっぱい。
NGNG>*実行ファイル名のことなら
>printf( "%s\n"@` argv[0] );を試してみよう。
に関しては、mainに引数がなきゃだめじゃないですか?
0004名無しさん@お腹いっぱい。
NGNG2 自分の環境を明らかにしない
3 ありがちな定型、出来るか出来ないか二者択一で質問する
以上の理由から逝って良いことが決まりました
00051
NGNGOSはRED HAT 6.1です。
OSやコンパイラ依存じゃない方法が理想です。
00062
NGNGなんでint main( int argc@` char **argv )が
だめなのかわかりません。
argvが使えない環境なら決め打ちするとか。。。
思いっきりOS依存の方法だけど、
POSIX規格のgetpidを使って
/proc/(getpidの戻り値)/cmdlineを読むとか。
00074
NGNG#include <stdio.h>
int main()
{
char*** pArgv = (char***)(&pArgv + 4);
puts(*pArgv[0]);
return 0;
}
00081
NGNG素晴らしい案ですが、
Mainのモジュールには手を入れられないんです。
むむー。
0009名無しさん@お腹いっぱい。
NGNG0010名無しさん@お腹いっぱい。
NGNGpsの出力結果をpopoenで読み込み
プロセスIDをキーとしてコマンドの検索を行なう
案2:要求仕様を引っくり返し、argv[0]を静的変数かなんかに
保存してもらうように働きかける
案3:ばっくれる(オススメ)
0011sage
NGNG0012名無しさん@お腹いっぱい。
NGNG0013sage
NGNG0014名無しさん@お腹いっぱい。
NGNG無理。
仕様がmain()の引き数を規定しているのなら
オブジェクト名称の取得方法も仕様で規定するべき。
仕様記述の粒度が揃っていないからね。
0015名無しさん@お蝮いっぱい。
NGNGてきとーなプログラムからexec*使って動かされるなら何が入ってたっておかしくない。
何にせよ、"オブジェクトの名称"が何を差すか今一つ不明だが設計から見直したほうがいい。
0016名無しさん@お腹いっぱい。
NGNG返す関数定義するしかないかな。
Javaなら、クラス名引っ張ってくる関数すでにあるけど。
0017名無しさん@お腹いっぱい。
NGNG■ このスレッドは過去ログ倉庫に格納されています