OSX 10.8.2 で Xcode 4.5.1 (4G1004) を使用しています。.txt ファイルからスコアを読み取り、その一部を新しい .txt ファイルに保存する単純な C プログラムを作成しました。何が起こっているのかというと、Xcode (command-b) でプログラムをビルドし、作成した実行可能ファイルの場所に直接移動してターミナルで実行すると、プログラムは実行されますが、新しい .txt ファイルが出力されません。ただし、上記の方法でプログラムをビルド (command-b) して実行する代わりに、ツールバーの左上にある矢印をクリックして Xcode で実行すると、後で新しい .txt IS が作成されます。
なぜこれが起こるのですか?Sublime Text 2 を使用してこのプログラムをビルドしてから、実行可能ファイルを手動で実行してみました。その方法は、出力 .txt ファイルも作成することで正しく機能します。
*編集 - コードを添付するのを忘れていました!
//func decs
void getScores();
void printScores(int);
int main()
{
getScores();
getchar();
return 0;
}//main
void getScores()
{
FILE* spscoresIn;
FILE* spscoresOut;
spscoresIn = fopen("scores_in.txt", "r");
spscoresOut = fopen("scores_out.txt", "w");
int score;
int count = 0;
while ((fscanf(spscoresIn, "%d", &score)) == 1) //writes only scores higher than 90 to the new file
if (score > 90)
{
fprintf(spscoresOut, "%d\n", score);
count++;
}
printScores(count);
return;
}//getScores
void printScores(int count)
{
printf("%d scores were higher than 90:\t", count);
printf("Press Enter to exit");
return;
}//printScores