質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

5回答

3638閲覧

ファイル名を指定して起動させるプログラムについて

huzishi

総合スコア10

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2016/01/10 10:39

###前提・実現したいこと
C言語で作成し、それをexeにして、exeを起動することによってa.txtを開くようにしたいです

###発生している問題・エラーメッセージ
指定したファイルが見つからず、起動されません
###ソースコード
@echo off
start a.txt
exit

###補足情報(言語/FW/ツール等のバージョンなど)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nisuko

2016/01/16 03:12

記述されてるソースコードはCじゃありません。これと同じ動作をするものをCで作りたい、というのであれば、そのような事も書き込んでおいた方が混乱を防げると思います
guest

回答5

0

C言語ですよね?書きたいのは本当にC言語でいいんですよね?

何を言いいいたのいうと提示されているソースコードが全くもってC言語ではないのです。Wikipediaに載っている下記のコード例を見て下さい。
Wikipedia: C言語#コード例
似ても似つかないほど、書き方が全く違いますよね?たぶん、別の何かと勘違いされているのだと思います。

提示されているコードを見るとバッチファイルと思われます。こちらもWikipediaの例を見てみて下さい。
Wikipedia: バッチファイル#例
とても似た感じですので、たぶんこれを作ろうとしたのかと思います。その場合は、C言語とは全くやり方が異なります。また、バッチファイルはexeファイルにすることは出来ません。exeにするということ自体が操作として間違っています。

目的がただ起動したいだけであれば、バッチファイルの流儀に従って作成して、実行して下さい。目的がC言語でソースを書いて、exeファイルを作成・起動することなのであれば、C言語の文法、そして、ソースからexeファイルにコンパイルするやり方を学んでください。

投稿2016/01/10 12:01

raccy

総合スコア21735

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

そこに書かれているソースコードはC言語ではありません。
しかし、それと同じ動作をするプログラムをCで書きたいのであれば、system関数を使うと良いでしょう。
stdlib.hを読み込んでください。
例を載せます。デスクトップ上にあるa.txtを起動する場合です。場所は絶対パスで記述してください。

c

1#include <stdlib.h> 2 3int main(){ 4 5 char pass[] = "C:\\Users\\rootuser\\Desktop\\a.txt"; 6 /*ここには絶対パスを代入する*/ 7 8 system(pass); 9 10 return EXIT_SUCCESS; 11 12}

なお、パスを記述する際には、区切り目となる\マークがありますが、Cではこれ単体ですと、その後ろにある文字と合わさって別の処理をしますので、\を入力する時は\と二つ入れてください。
また、このパスは私自身のpc上でのパスですので、コードを記述する際には、あなた自身のpcでのパスを入力してください。

投稿2016/01/17 07:45

nisuko

総合スコア35

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

みなさんの回答をまとめただけのようで申し訳ないのですが。

これはプログラムではなくバッチ処理かスクリプトだと思います。
これをこのまま.exeにしても実行されないと思います。
.batか、.scrか、その他「この動作を作ろうとした開発環境」の規則に従ってください。

その上で、このスクリプト?を、開きたいファイルa.txtと同じ場所(フォルダ)に置いてください。
そうでなければ開きたいファイルを絶対パス(PATH)で記述する必要があると思います。
(例:"C:\Program Files\MySoft\Test\a.txt")

何かを実行させるファイル(実行ファイル、バッチ、スクリプト)は、対象ファイルがどこにあるかは基本的に実行しようとしている自分のいるフォルダで探します。
すぐ下のサブフォルダにあっても、指定しないとみつけられません。
例)
C:hoge\ShowText.bat
を起動して
C:hoge\test\funya.txt
を開きたい場合は、ShowText.batの中では
start test\funya.txt (自分の場所を基準とするこれを相対バスと言う)
とするか
start C:\hoge\test\funya.txt (ドライブ名からの場所を全て書くこれを絶対パスと言う)
と指定してあげる必要があります。

投稿2016/01/15 19:53

mike

総合スコア118

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ソースコードはCじゃないと思います。
あるスクリプト言語でしょう
Cなら、fopenとfcloseを利用してみよう

投稿2016/01/10 14:09

GikgeStephano

総合スコア60

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

プログラムというより PATH の解決の問題にも思えますが…

何をどのようにされたのでしょうか?

投稿2016/01/10 13:02

T.Kanno

総合スコア915

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問