C言語でフォルダを開く
- C言語でフォルダを開く方法として、エクスプローラを起動させるプログラムを紹介します。
- 実際のプログラムとして、C言語でopenDir.batを呼び出すことでフォルダを開くことができます。
- しかし、最終的にはC言語のみを使って実装したいという場合には、別の方法を考える必要があります。
- ベストアンサー
C言語でフォルダを開く
OSはWindows7を使用しています。 C言語を使って、フォルダを開きたいです(エクスプローラを起動させたいです) 一応、下のプログラムで、思った動作にたどり着きました(ですが、不満があります)。 「main.c」 #include <stdlib.h> int main(void) { system("C:\\Users\\UserName\\Desktop\\openDir.bat"); return 0; } 「openDir.bat」(デスクトップに保存されています) ---- explorer "C:\Users\UserName\Google ドライブ" explorer "X:\" 流れは、 1.main.cを実行することで、openDirが開かれます。 2.openDirがGoogle ドライブフォルダとKDrive(Xドライブにあります)が開かれます。 ですが、最終的には、C言語のみを使って実装したいです。 自分だけが使うプログラムなので、私のパソコンで動作すれば満足です。 お願いします
- newtgecko
- お礼率88% (150/169)
- C・C++・C#
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>ですが、最終的には、C言語のみを使って実装したいです。 単純に #include <stdlib.h> int main(void) { system("explorer \"C:\\Users\\UserName\\Google ドライブ\""); system("explorer \"X:\\\""); return 0; } じゃダメなんですか?
関連するQ&A
- C言語について。
C言語プログラマとしては、スタートアップコードは・・・ ・自分が書いたプログラムを、直接動かすために必要なライブラリ ・それはコンパイル後、リンカによって追加されるライブラリこれは、 どういう意味でしょうか?分かりやすく教えていただけると幸いです。すみません。で、 以下のかぶくんまんさんの回答です。 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11247611941 で、 C言語におけるプログラミングとは「main関数を書くこと」に他ならない。なぜ「main関数を書く」ことがC言語におけるプログラミングに他ならないのかと言えば、それは偏に「C言語のコンパイラはmain関数を呼び出すプログラムを生成するから」です。それがmain関数を求めるので結果的にmain関数がリンクされ、そしてmain関数が求めるままに他の関数もリンクされていくわけです。 で、その「main関数を呼び出すプログラム」こそが、C言語における「スタートアップコード」。 という回答で、main関数以降は、プログラマが書くのですよね?プログラマが関数をリンクさせる様なプログラムを書くということでしょうか?教えていただけると幸いです。すみません。 という所が分かりません。教えていただけると幸いです。すみません。以下のURL https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12247932542
- 締切済み
- C・C++・C#
- C言語に関する質問
以下のプログラムは問題なく動く場合もあればエラーが出る可能性もある。その理由は何ですか? 安定動作をさせるためにはどうしたらよいですか? #include<stdio.h> #include<stdlib.h> void main(void){ double *a; a=malloc(1); *a=1.0; printf("%f,%x\n",*a,a); free(a); }
- 締切済み
- その他(学問・教育)
- C言語 関数の呼び出し関係について
C言語を習い始めてから、1ヶ月も経っていないんですが、長いプログラム(1万行くらい)の読解という課題が出ました。 読解を円滑に進めていくためのコツとして、「関数の大まかな呼び出し関係」を調べればよい、と学びました。 そこで質問させてもらいたいのですが、「関数の呼び出し関係を調べる」とは、具体的にどういうことなんでしょうか?関数が関数を呼び出しているんですか?? もうひとつC言語について質問です。 今回与えられたプログラムは1万行くらいあるのですが、そのうちmain関数は50行くらいしかありません。 これって、残り9950行はすべて、main関数の動作のためにあるんですか?? 以上、初歩的な質問かもしれませんが、ご指導願います。
- ベストアンサー
- C・C++・C#
- C言語の代入についての質問です
C言語の代入についての質問です 下のプログラムを見て下さい #include<stdio.h> int x[2]; x[0] = x[1] = 1; int main(void) { for(int i = 0 ; i < 2 ; i++) printf("%d",x[i]); putchar('\n'); return 0 ; } このプログラムをコンパイラすると3行目の代入にエラーが出されます (当たり前ですがmainの中に3行目の代入文を入れると上手くいきます) まぁそれがなぜかというのが知りたいのですが、 それはC言語をつくった人が決めたことなのでしょうか? ちなみに異なる実行環境でやってみたらどれも駄目だったので これが上手くいくことはない?のだと思います そういうもんなのだったら、そういうものだと理解しますが もし理由を知っている方がいらっしゃったら教えて下さい
- ベストアンサー
- C・C++・C#
- USBメモリ内のフォルダ名をログインユーザ名に書き換える
USBメモリにあるフォルダ名をログインユーザ名に書き換えるバッチファイルの作成に困っております。 現在、仕事でSleipnir1.66をUSBメモリに入れて持ち歩き、出先のPCと会社のPC、そして自宅のPCと三箇所でそのブラウザを使う事があります。 問題なのは、「USBメモリのドライブ:\Sleipnir\user\USERNAME」のドライブ名とUSERNAME部分です。 Sleipnirの環境設定がログインユーザ名ごとにフォルダが作成されそこに保存されるので、USBメモリを挿すPCが変わると当然ながらユーザ名が変わってしまいます。 今までは、手動でユーザ名を調べてそのユーザ名に書き換えていましたが、それをBATファイルで自動化できないかと考えました。 ですが、DOSが良く分かりません。 接続するPCによっては、USBメモリのドライブも変わりますし、ユーザ名を%USERNAME%で参照できるらしい事、RENでフォルダ名を変えられる事、など断片的に情報は集まりましたが、どのように処理を書けば良いのか分かりません。 やりたい事を以下に記します。(BATファイルはUSBメモリ内にあるとして) 1.USBメモリのドライブを調べる 2.ログインユーザ名を調べる 3.「1」で調べた結果:\Sleipnir\user\「2」で調べたユーザ名 に書き換えたい。 厚かましいとは思いますが、どなたか希望に沿うBATファイルを作成して頂けませんでしょうか。 説明下手ですが補足要求ございましたら仰って下さい。
- ベストアンサー
- その他(プログラミング・開発)
- C言語でこんなことは可能ですか?
現在あるプログラムを作りたいと思いC言語の勉強をしています。 それに伴い、下記のプログラムはC言語で作成可能でしょうか。 例) Aのフォルダ内にbというファイル(txt)があるとして、 bのファイル内の「ありがとう」という文字を検索し表示させるプログラム は作成可能でしょうか。表記としては --------------------------------- ファイル名 | 検索文字 --------------------------------- A | ありがとう -------------------------------- としたいと思っているのですが・・・ よろしくお願いします。
- ベストアンサー
- C・C++・C#
- フォルダファイルが開けなくなりました。
フォルダファイルが開けなくなりました。 以前からあったのですが、名前を変更したら、開けるようになってたのですが。 Cドライブのユーザーフォルダは名前の変更がでてこなく、変更ができません。 ダブルクリックをすると、少しして、応答なしと出てきて、閉じようとすると、ウインドウズエクスプローラーは応答してません。とでて、プログラムを終了しますを押して、閉じると、ほかの、フォルダもすべて閉じてしまいます。 どうしたらいいでしょうか?
- 締切済み
- Windows Vista
お礼
ご回答ありがとうございます。 > じゃダメなんですか? 全然問題ないです! system()がどういうものなのか、調べてみることが必要だったようですね。 思ったとおりに動作してくれました。 ありがとうございました。