私のプログラムは1年以上正しく実行されています。今日私はファイルを別のシステムにコピーし、すべてのプログラムをコンパイルしました。ファイルに書き込めません
Dev-C++からコンパイルして実行すると、それは想定されているようなテキストファイルにデータを書き込みますが、作成した実行ファイルをクリックすると、ファイルにデータが書き込まれません。入出力のようなものはすべて動作するようです。
私が逃した手順は?
私は完全なプログラムを与えましたが、まだ書きません。
C++環境でコンパイルしたときに実行されなかった場合、私は非常に困惑しています。自分のコードをチェックし続けることができますが、.exeだけが動作しません。
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ofstream bss2;
bss2.open("expat.txt",ios::app);
bss2 << 2 ;
bss2.close();
}
これはテストしたサンプルコードです。
どのように私は現在の作業ディレクトリを見つけるのですか?
[OK]を私は
bss2.open("c:\\expat2.txt",ios::app);
にラインを変え、今では、exeファイルで正しく動作します。
しかし、50以上のファイルがあります。私はそれぞれの新しいパスを覚えておく必要はありませんでした。以前に使用したディレクトリにディレクトリを設定するにはどのような回避策がありますか?
更新4:
#define _POSIX_SOURCE
#include <unistd.h>
#undef _POSIX_SOURCE
#include <stdio.h>
main() {
char cwd[256];
int y;
if (chdir("/tmp") != 0)
perror("chdir() error()");
else {
if (getcwd(cwd, sizeof(cwd)) == NULL)
perror("getcwd() error");
else
printf("current working directory is: %s\n", cwd);
}
scanf(y);
}
[OK]を私は(GETCWDを使用)、これは、それは私に
のchdir()エラー()を与えるメッセージである:そのようなファイルやディレクトリ
方法を今すぐディレクトリを設定しますか?
ユーザー権限で
open("
を置き換えることができますか?どのOSを実行していますか? – Joe魔法の部分?申し訳ありませんあなたのユーザー名に抵抗する...;) – Nim
すべてのエラーメッセージ? –