• ベストアンサー

windowsからlinuxに変えた場合のc++のプログラミングについて

windowsで行っていたcのソースは, in\\(複数のファイル名) inというフォルダから複数のファイルを読み込み,out\\(複数のファイル名) outというフォルダの複数のファイルに出力していたんですが,これをlinuxで行おうとした場合,in\\(複数のファイル名)→in\\(複数のファイル名) out\\(複数のファイル名)→out\\(複数のファイル名)と変換されており,実行した場合,セグメントエラーが表示され,inフォルダから読み込みません.このような問題を解決する場合は,どうしたら良いのでしょうか?どなたかわかる方,教えて頂けないでしょうか?お願いします.

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

  • ベストアンサー
  • MrBan
  • ベストアンサー率53% (331/615)
回答No.1

\\ を / にしたらいかがでしょう。

kitchan590704
質問者

お礼

いち早く教えていただき,ありがとうございました.問題が解決いたしました.

その他の回答 (1)

  • Trick--o--
  • ベストアンサー率20% (413/2034)
回答No.2

フォルダ(ディレクトリ)の区切り文字が\なのは、Windowsの独自仕様だと思ったほうがいいでしょう。 \\を/に変えてみてください。

kitchan590704
質問者

お礼

わかりやすい説明ありがとうございます.問題が解決しました.

関連するQ&A

  • Linuxで作成windowsで実行するjava

    タイトルどおり、Linux上で実行ファイルを作成してそれを windows上でも実行できるようなjavaの書き方を教えてください。 普段の作業はlinux上で行っていますのでここでソースを書いて、 他人に使ってもらうことを念頭にwindowsでも動くプログラムを書きたいです。 私はjavaは使ったことがなく、普段はperlをメインにたまにcを使う程度の 能力です。 linux上でHello.javaを以下のように作成し、 -------------- public class Hello{ public static void main(String[] args){ System.out.println("hello!"); } } --------------- $javac Hello.java $java Hello で実行できるところまでは行きましたが、これ以降はどうすればいいのでしょうか? 検索してみてjar圧縮が必要かと思い $jar cvf Hello.jar Hello とすると added manifest adding: Hello.class(in = 410) (out= 281)(deflated 31%) と表示され、Hello.jarファイルが生成されていますがうまく実行できません。 よくわかっていないのですがよろしくお願いします。

    • ベストアンサー
    • Java
  • Linuxでプログラミング

    Windows7でVirtualBoxを利用してLinuxを使っています。 そのLinuxでC言語のプログラムをgccでコンパイルしたのですが、 error: stdio.h:No such file or directory In function main': 警告:incompatible implicit declaration of built-in function printf' と表示されます。プログラムは以下のような内容です。 #include<stdio.h> int main(void) { printf("hello,world\n"); return 0; } なぜエラーになってしまうのか分かりません。どうしたらよいのでしょうか? 他に何か必要な情報があれば答えます。よろしくお願いします。

  • VC++でソースファイルに2つのデータを作る場合。

    Microsoft Visual C++ 2008 Express Editionというコンパイラを使っています。 新しいプロジェクトを作成すると、ソースファイル、ヘッダーファイル、リソースファイルの3つのフォルダが作成されます。 ソースファイルのフォルダに.cppのプログラムを作成しています。 もう一つ別のプログラムを実行しようと思って、ソースファイルのフォルダにプログラムを追加して実行すると必ずエラーが出てしまいます。 エラーの内容は「1 つ以上の複数回定義されているシンボルが見つかりました。」のようです。 1つのソースファイルに2つ以上のプログラムは作れないのでしょうか?

  • Unicode文字エンコード(ASCIIまたはUTF-8)をEUCに変換する方法

    初めて質問します。よろしくお願いします。 LINUX上でTimesTenバルクコピー(OUT)したファイルを Sybaseにバルクコピー(IN)したいのですが バルクコピー(OUT)時に、日本語データが存在する場合 Unicode文字エンコードされて出力されます。 (出力例: \021\022\033 等) このままバルクコピー(IN)した場合、Sybase 上で正しく 表示できませんので、一度EUCコードに変換してから 実行しようと考えています。 Unicode文字エンコード(ASCIIまたはUTF-8)をEUCに変換する方法 ご教示願います。 ご回答よろしくお願いします。

  • FORTRAN: WIN SalfordFTN77 → LINUX g77 (セグメントエラー)

    今まで、Salford FTN77 を使用していたのですが、 この度、LINUXのg77でプログラムを動かすことになりました。 Salford FTN77で正常に動作していたのですが、g77では、実行時に「セグメント違反」が発生してしまいます。 現在わかっていることを列挙しますと… ・Salford FTN77では、問題なく動作する ・g77で、コンパイルまでは成功する ・Salford FTN77からの書き換えはおそらく成功(同種のプログラムで確認済み) ・プログラムをループ(=50)させているのですが、特定のループ回数(=13)でセグメントエラーになる。 ・エラー前の計算は正しく行われている ・ループ回数(=10)を引き下げると実行可能になる ・ループ毎にファイルのcloseも行っている ・スタックを限界まで引き上げて実行したが、同様のエラーが発生 ・特定のループ回数(=13)から、ある特定の変数(ここでは b)を、表示(write( , ) b )もしくは代入(a=b)しようとするとエラーが発生する。 ・エラーが発生する直前までは、ある特定の変数(b)は正しく出力でき、値に異常もない。 元々、簡単な数値計算をおこなう程度にしかプログラムを扱っていない生粋の初心者です。 ネットでセグメントエラーについて検索し、手当たり次第試してみたのですが、うまくいかず困っています。 ソースは公開できないのですが、何か心当たりのある方は、回答していただけると嬉しいです。 よろしくお願いします。

  • C-ShellでPL/SQLを実行する記述について

    お世話になります。 C-ShellでPL/SQLプロシージャの実行を行いたいのですが、 引数でプロシージャ名を渡してそれを実行するようにしたいです。 C-Shellでどのように記述すれば良いでしょうか? PL/SQLプロシージャでは、1つのINパラメータ、4つのOUTパラメータを使用しています。 (複数のプロシージャでパラメータは共通の作りにしています。) C-Shellでプロシージャの処理結果をチェックし、エラーの場合ログファイルに エラーコードとメッセージを出力したいです。 OSはSolaris、データベースはOracle 11gです。 勉強中ですので、質問内容に不備な点あるかと思いますが、 よろしくお願い致します。

  • Linux Mintと将棋ソフト

    Linux Mintと将棋ソフト  いつも、回答ありがとうございます。  Vectorに以下のプログラムが、のっています。 対応OS: Red Hat Linux 7.1/7.2J となっていますが、同じ、OSで、 Linux Mint 64Bit で、作動させることは、できますか?  具体的にインストールファイルをダウンロードすることは、できます。  ファイルを解凍することができます。 > XWindows環境へ渡します。  と言うのは、Linux Mintの場合は、不要かと考えましたが、いかかでしょうか? > 2.Terminalを起動します(console環境)。  ターミナル画面は、起動できます。しかし、ここで、いきなり、 > 3.インストールファイルinstall.shを実行します。  ファイル名を指定しても、そんなファイルは、ありませんと言われます。  パスとフォルダーをしていて、実行ファイル、install.shを指定しても、フォルダーが、おかしいなどのエラーが出ます。  これ以上は、進まないので、後は、どうなるのか分かりません。 > 実行プログラムは/usr/binフォルダーにコピーされます。  /usr/binフォルダーは、存在しているのは、確認しています。  たとえ、ひとつだけでも、詳しい、使用方法をよろしく教授方お願いします。  敬具 ---------------------------------------- LINUXファミリー将棋 LINUX版のファミリー将棋を無料にてお楽しみ頂けます ソフト詳細説明 お手軽にお楽しみ頂ける将棋ソフトです。 コンピュータソフトの世界大会で優勝を競う程の実力派です。 ぜひ、お楽しみ下さい。 対応OS: Red Hat Linux 7.1/7.2J インストールファイル Red Hat Linux 7.1J用将棋:FamilyShogi/RedHatLinux7.1/install.sh Red Hat Linux 7.2J用将棋:FamilyShogi/RedHatLinux7.2/install.sh インストール方法 1.Linuxが起動してからXWindows環境へ渡します。 2.Terminalを起動します(console環境)。 3.インストールファイルinstall.shを実行します。 この時console環境にインストール過程がTextで表示されます。 実行プログラムは/usr/binフォルダーにコピーされます。 実行方法 実行ファイル名:familyshogi 1.XWindows環境でTerminalを起動してから実行ファイル名をTypingします。 2.File manager(WindowsでExplorerに対応)を実行して/usr/binフォルダーを探して実行します。 (C)2002 MAGNOLIA (C)2002 Silverstar Japan (C)2002 Korea Computer Center 動作環境 ソフト名: LINUXファミリー将棋 動作OS: UNIX 機種: IBM-PC 種類: フリーソフト 作者: (株)マグノリア LINUXファミリー将棋のダウンロードページへ https://www.vector.co.jp/soft/unix/game/se238325.html

  • Linuxの場合はCGIの書き込み命令が必要なのでしょうか?

    PerlのCGIをWindowsとLinuxで作成しています。 Windowsでは素直に書き込めますが、Linuxではエラーもなくあたかも正常なように終了しますが、ファイルが書き込まれていません。 open(OUT, "> test.jpg"); binmod OUT; print(OUT $file); close(OUT); Windowsはバイナリ対策でbinmodをつけるおまじないが必要ですがLinuxの場合はCGIの書き込み命令が必要なのでしょうか? ディレクトリ自体を書き込み権限付ければ安直ですが、 ディレクトリのパーミッションはそのままにして書き込みを行いたいです。

    • ベストアンサー
    • CGI
  • Windowsの共有フォルダをLinuxで見るには

    現在、Vine Linux2.6r4を使っています。 ブロードバンドルーターで家庭内LANを組んでいます。(5台) 私の部屋にはWindows機(98SE)とLinux機があります。 Linux機にSambaを入れてWindows側からLinux側にファイルの転送が可能となっています。 これはLinux機の共有フォルダをWindows機で利用する方法ですね。 最近、逆にWindows機の共有フォルダをLinux機で利用したいと思うようになりました。 Windows機の方がHDD容量が大きいからです。 そこで本を見ながら設定しました。 まず、共有ディレクトリをLinux機に作りました。 # mkdir /mnt/共有ディレクトリ名(私の場合はsambamusic) 次にWindows機の共有フォルダをLinux機にマウントするために smbmount //192.168.11.4/MUSIC(私のWindows機の共有フォルダ名) /mnt/sambamusic -o username=Win98(コンピューター名,password=***(とりあえずSambaパスワード、Win98SE機はパスワード無しで使っています。) としたのですが下記のようにエラーになります。 1909: session request to 192.168.11.4 failed (called name not present) 1909: session request to 192 failed (called name not present) 1909: session request to *SMBSERVER failed (called name not present) SMB connection failed ちなみに192.168.11.4へpingは通ります。 解決方法がわかる方がいましたらよろしくお願いします。

  • Visual C++でのプログラミング環境

    こんにちは。 visual C++でCのプログラムを実際に実行してみたのですが、 ビルドの時点で fatal error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました。 というエラーがでました。設定は多分間違ってはないと思うのですが、 この場合どういった方法で解決できるのでしょうか? ご教授頂けたらありがたいです。

専門家に質問してみよう