• ベストアンサー

絶対パスがx,y,zのファイル,ホルダを

c:\p.exeにドラッグしてc:\p.exeを実行したとき [GetCommandLine()] はどのようになるのでしょうか? 98se 95 Borland C++5.5 Comlierでは ["c:\p.exe" x y z] になるのですが Windows2000 + SP3, VC++ 6.0では ["c:\p.exe" "x" "y" "z"] となるそうです Me,Xp,NT,2000でBorland c++5.5 Compiler ではどうのようになるのでしょうか?

  • nubou
  • お礼率62% (293/470)

質問者が選んだベストアンサー

  • ベストアンサー
  • gimmick
  • ベストアンサー率49% (134/270)
回答No.1

前回の質問の続きとして回答します。 (http://www.okweb.ne.jp/kotaeru.php3?q=543088) 次のようなプログラムにすれば、OSのバージョンに依存しないかと思いますがどうでしょうか? --------------------------------------------------------- #include <windows.h> #include <string> int WINAPI WinMain(HINSTANCE , HINSTANCE, LPSTR, int) {      char param[256], buf[256];   char *p, *b;      /*パラメータ取得とバッファ初期化*/   strncpy(param, GetCommandLine() , sizeof(param));   param[255] = '\0';   memset(buf, 0, sizeof(buf));      /*引用符の除去*/   p = param, b = buf;   while(*p != '\0') {     if (*p != '\"') {       *b++ = *p++;     }     else {       p++;     }   }      /*ファイル名の区切りを\nにする*/   for(b = buf + 2; *b != '\0'; b++) {     if ((*b == ':') && (*(b - 2) == ' ')) {       *(b-2) = '\n';     }   }      /*結果確認*/   MessageBox(NULL, buf, "File Name", MB_OK);   return 0; }

nubou
質問者

お礼

結局”で囲んでいるものといないものに対応できるので”を無視できる方法でやってみようと思います わざわざアプリまで組んでいただいてありがとうございました

nubou
質問者

補足

ありがとうございます 256だとこれがボトルネックになるので512として考えます ”を無視して格納するということですね ということは”で囲まれているかいないかの仕様しか今のところ無いということですね

関連するQ&A

  • x+y+z=5、3x+y-15

    x+y+z=5、3x+y-15を満たす任意のx、y、zに対して常にax²+by²+cz²=5²が成り立っている時定数a、b、cを求めよ。 このときの、途中まではわかりますが x+y+z=5・・・・・・(1) 3x+y-z=-15・・・(2) (1)+(2) 4x+2y=-10 y=-2x-5・・・・(3) (3)を(1)に代入 x-2x-5+z=5 z=x+10・・・・・(4) ax^2+by^2+cz^2=5^2 (3)、(4)を代入する ax^2+b(-2x-5)^2+c(x+10)^2=5^2 ax^2+b(4x^2+20x+25)+c(x^2+20x+100)-25=0 (a+4b+c)x^2+20(b+c)x+25b+100c-25=0 ここまで、 このときに、解説には a+4b+c=0 a+3b=0 4a+9b-1=0 としているのですが なぜ0なんですか。何と係数比較しているんですか

  • ∂x/∂z=(1/y)*(∂y/∂z)について

    ∂x/∂z = (1/y)*(∂y/∂z)を解くと、 x = lny + C(定数)になるのですが、 両辺に∂zをかけて、分母の∂zを消去した上でそれぞれ積分しているのでしょうか。 それとも別の操作で∂zを消しているのでしょうか。

  • ¬(∀x∃y∀z(p))≡∃x∀y∃z(¬p)について。

    お世話になります。 よろしくお願いします。 ¬(∀x∃y∀z(p))≡∃x∀y∃z(¬p) の理解と証明ができずに困っています。 日本語的な解釈の仕方あるいは記号論理学での証明法あるいはお勧めの参考書などご存知の方がいましたら教えてください。 ちなみに ¬(∃x(p))≡∀x(¬p) は理解できてます。 よろしくお願いします。

  • xとyとzともうひとつ

    x軸だけなら点を、x軸y軸なら平面を、x軸y軸z軸なら空間を表すと勉強したのですが、さらにp軸を加えた、xyzpの4つでは一体何を表すのでしょうか。 このとき、pは何を表す軸になるのでしょうか。 よろしくお願いします。

  • 立体V = {(x,y,z)|x^2 + y^2 <= z <= 1}

    立体V = {(x,y,z)|x^2 + y^2 <= z <= 1}の体積|V|を求めよ。 という問題で、まず、答えを見ずに自分で x^2 + y^2 <= 1 x^2 <= 1 - y^2 x <= ±√(1 - y^2) ∫∫∫_V dxdydz =∫[0,1]dz 2*∫[0,1]dy 2*∫[0,√(1-y^2)] (x^2 + y^2) dx =π/2. …と計算しました。本の答えは |V| = ∫[0,1] (∫∫_(x^2 + y^2 <= z) 1 dx dy) dz = ∫[0,1]πz dz =π/2. …となっています。これでは肝心の ∫∫_(x^2 + y^2 <= z) 1 dx dy の部分が分かりません。 その結果が πZ になっているので どこかに Z が紛れ込んでるはずですがどこか分かりません。 この式を ∫[a,b] dx ∫[c,d] 1 dy の形で教えて下さい。 お願いします。

  • 確率変数の独立性とV(X+Y+Z)=V(X)+V(Y)+V(Z)について

    いつもありがとうございます。高校数学の勉強をしています。数学Bの「確率分布」の章です。 教科書では次のように言っています。 「二つの確率変数XとYが互いに独立であるとき、分散Vについて V(X+Y)=V(X)+V(Y)が成り立つ。」これは証明があり理解できました。 続いて、「3つ以上の確率変数の独立性についても2つの場合と同様に定義される」と言います。 その後、次のような説明があります。 「確率変数X,Y,Zが任意の値a,b,cについてP(X=a,Y=b,Z=c)=P(X=a)P(Y=b)P(Z=c)を満たすとき、X,Y,Zは独立であるという。 このとき、X+YとZは互いに独立となり、 V(X+Y)=V(X)+V(Y)を繰り返し用いると、次のことが成り立つ。 確率変数X,Y,Zが独立ならば、 V(X+Y+Z)=V(X)+V(Y)+V(Z)」 上の「このとき、X+YとZは互いに独立となり」という部分がどうしても証明できません。 (1) あまりに自明なことなのに私がドつぼにはまってしまい苦しんでいるのか、 (2) もう少しレベルの高い勉強をしないと理解できないことなのか、 どちらかと思うのですが、なぜX+YとZは互いに独立となるのか教えてください。よろしくお願いいたします。

  • ファイルやディレクトリに

    空白を含む名前を付け それをドラッグして実行するプログラムgoo.exeを作ったのですが GetCommandLine()で ファイル”x y.txt”をドラッグしてgoo.exeを実行すると GetCommandLine()が ”goo.exe” x y.txt となるので xとy.txtの2つを受け取ってしまいます 98ならばxy~2.txtと名前が変更されるのでいいのですが95だと名前が変更にならない場合があり上記のようなったりします GetCommandLine()を使ってどのように空白付き名前のファイルを受け取ればいいのでしょうか? あるいはGetCommandLine()は上記のような致命的欠陥のため別のC言語用API関数が用意されているのでしょうか?

  • divで『Ex(x+Δ、y+Δ、z+Δ)-Ex(x+Δ、y、z)』は無視できる?

    div(発散)の定義の途中過程についてです。 P(x、y、z)の近くに各座標軸に沿った長さがΔx、Δy、Δzの微小直方体を考える。 その微小直方体のyz平面に平行な面をそれぞれA、Bとする。 (Aのx座標がx、Bのx座標が(x+Δx)) E(Ex、Ey、Ez)とする。 ∫(A+B)Exds={(Ex(x+Δx、y、z)-Ex(x、y、z))/Δx}ΔxΔyΔz 『ここでy、z座標の値も面内で変化しているが、それはΔy、Δzについ 高次の寄与しか与えない。』・・・※ この最後の1文についてなのですが、 私は〈微小直方体におけるExのy方向、z方向の変化量『Ex(x+Δx、y+Δy、z+Δz)-Ex(x+Δx、y、z)』は x方向の変化量『Ex(x+Δx、y、z)-Ex(x、y、z)』に比べると無視できる〉つまり 『Ex(x+Δx、y、z)-Ex(x、y、z)>>Ex(x+Δx、y+Δy、z+Δz)-Ex(x+Δx、y、z)』と解釈しました。 そこで質問なのですが、 自分には『Ex(x+Δx、y、z)-Ex(x、y、z)>>Ex(x+Δx、y+Δy、z+Δz)-Ex(x+Δx、y、z)』はちっとも明らかには思えないのですが、 なぜこれが成り立つのでしょうか? ここら辺の説明が詳しく載っている参考書がなくて困っています。 (どの参考書でも明らかとしてサラッと流されている。) どなたかよろしくお願い致します。 以下参考HPです。 http://www.ese.yamanashi.ac.jp/~itoyo/lecture/denkigaku/denki01/denki01.htm#発散

  • f(x,y)=3xy - x^2y - xy^2 とするとき、曲面z=

    f(x,y)=3xy - x^2y - xy^2 とするとき、曲面z=f(x,y)のx>0, y>0における停留点をPとする。Pについての記述として正しいものを、次の[1]~[4]の中から一つ選べ。 [1] Pは極小点である [2] Pは極大点である [3] Pは極点ではない [4] Pでのヘッシアンは負である で[4]を選んだのですが、合っていますでしょうか?

  • X+Y=Zの密度を求める問題

    確率変数XとYはそれぞれ独立である。 Xは[0,1]上で均等分布する。 Yは0か1の確率で、それぞれPとqとする。 X+Y=Zの密度を求めよ。 どなたか順を追って教えてください。 よろしくおねがいします。