私は入力をファイルに記録するプログラムを開発中です。これは私の現在のコードです:ファイルへのCロギング入力?
#include <stdio.h>
#include <curses.h>
#include <signal.h>
#define WAIT 3
#define INCORRECT "Incorrect input\n"
#define FILENAME ".xintrc"
int stop();
int main()
{
char first[10], last[10];
int i;
FILE *fp, *fopen()
initscr();
scanf("%[^\n]", first);
getchar();
noecho();
scanf("%[^\n]", last);
printf("\n");
getchar();
echo();
sleep(WAIT);
if((fp = fopen(FILENAME, "a")) != NULL){
fprintf(fp, "First: %s Last: %s\n", first, last);
fclose(fp);
}
printf(INCORRECT);
endwin();
}
stop()
{
endwin();
exit(0);
}
私はコンパイルするとき、私はこのエラーを取得:
input1.c: In function ‘main’:
input1.c:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘initscr’
input1.c: In function ‘stop’:
input1.c:35: warning: incompatible implicit declaration of built-in function ‘exit’
ああ、ありがとう、完璧に働いた:)それは私が80年代から私を助けるために別のコードを使用していたために失敗した理由があった。 – AustinM
@AustinMもう少しコメントします。 1) 'sleep()'は少し厄介です、本当に必要ですか? 2) '_Exit()'を使ってプログラムを停止させることは、一般的にこれを行う正しい方法ではありません。 'fopen()'が成功したら 'stop()'を呼び出す代わりに 'else'節を使って' printf(INCORRRECT) 'を呼び出すだけです。 – SiegeX