2014-02-04 5 views
0

Как это сделать?Запись в файл в папке в C

Я знаю, открытие нового файла является чем-то вроде этого:

fpcon=fopen("konf_in","w"); 
    printf("Whatever I want to input"); 
    fclose(fpcon); 

Выходной файл только должен быть простой .txt или .dat файл

+2

fpcon = fopen ("konf_in", "w"); –

+1

fpcon = fopen ("/ your folder/konf_in", "w"); это? –

+0

+1 для включения исходного кода -1 для того, чтобы даже не попробовать его. Вы могли бы ответить на свой вопрос. – Brandin

ответ

2

Для записи в файл, вам нужно позвонить fprintf и передать указатель файла, который fpcon см этот пример:

char name[20]; 
int number; 

FILE *f; 
f = fopen("/your_folder/sample.txt", "w"); 

if (f == NULL) { 
    printf("Error opening file!\n"); 
    exit(1); 
} 

printf("\nNew contact name (max 19): "); 
fgets(name, sizeof(name), stdin); 

printf("New contact number: "); 
scanf("%d", &number);  

fprintf(f, "%s - %d\n", name, number); 
fclose(f); 

Это page дает вам дополнительную разведданные о том, как обрабатывать файл записи s, присоединяет и т.д.

Просто для уточнения, разрешенные режимы FOPEN следующим образом:

  • г - открытый для чтения
  • ж - открыт для записи (файл не должен существовать)
  • а - открыт для добавления (файл не должен существовать)
  • г + - открыть для чтения и записи, начало в начале
  • ш + - открыть для чтения и записи (перезаписи файла)
  • a + - открыт для чтения и записи (добавляется, если файл существует)
+0

Безопасно вызывать 'fgets()' с 20 (или, если на то пошло, 'sizeof name'), так как' fgets() 'будет читать не более одного символа меньше, чем размер, который он задан, так что есть место для конечного нулевого символа. –

+0

@ FilipeGonçalves hey thanks mate :), что сомнение перешло мне в голову, я исправил свой ответ с советом. –