stdio.h

fopen

Описание

FILE* fopen( const char *path, const char *mode )

fopen отваря файла отговарящ на пътеката зададена в параметъра path и връща потока асоцииран с него. Стойността на path може да бъде всяка валидно име на файл от гледна точка на операционната система.  Параметъра mode определя начина за отваряне на файла.

Параметри

const char *path

Задава пътеката и/или името на файла които трябва да бъде отворен.

const char *mode

Определя начина по който да бъде отворен файла.

r Отваря файла само за четене
w Отваря файла само за писане
a Отваряне за добавяне към файл
rb Отваря двоичен файл за четене
wb Отваря двоичен файл за писане
ab Отваря двоичен файл за добавяне
r+ Отваря текстов файл за писане/ четене
w+ Създава текстов файл за писане/ четене
a+ Отваря текстов файл за писане/ четене
rb+  Отваря двоичен файл за писане/ четене
wb+  Създава двоичен файл за писане четене
ab+  Отваря двойчен файл за писане/четене

Връщани стойности

FILE* - указател към потока асоцииран с файла. При неуспех функцията връща NULL.

Примери

от: adviser at cpp-examples dot com   Свали кода във файл
  1. int ch;
  2. FILE *input = fopen( "stuff", "r" );
  3. ch = getc( input );
от: adviser at cpp-examples dot com   Свали кода във файл
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.   FILE *file; /* деклариране на указател FILE */
  5.  
  6.   file = fopen("data/writing.txt", "w");
  7.   /* създава текстов файл за писане */
  8.  
  9.   if(file==NULL) {
  10.     printf("Грешка файла не може да бъде създаден. ");
  11.     return 1;
  12.   }
  13.   else {
  14.     printf("Файла е създаден успешно! ");
  15.     fclose(file);
  16.     return 0;
  17.   }
  18. }
от: adviser at cpp-examples dot com   Свали кода във файл
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5.   FILE *in;
  6.   if (in = fopen("fred.txt", "rt"))
  7.   {
  8.     for (char c; !feof(in); fscanf(in, "%c", &c)); //Прочита символ по символ целия файл
  9.     fclose(in);
  10.   }
  11.   return 0;
  12. }
от: adviser at cpp-examples dot com   Свали кода във файл
  1. /* Прочита и показва двойчен файл. */
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. int main()
  6. {
  7.     char filename[120];                                   
  8.     printf("Въведете име на файл:");
  9.     gets(filename);
  10.  
  11.     FILE *fp;
  12.     if ((fp=fopen(filename, "rb")) == NULL)
  13.     {
  14.         printf("Файла не съществува!!!\n");
  15.         exit(0);                          
  16.     }
  17.  
  18.    while(!feof(fp))     
  19.    {
  20.        int inChar = getc(fp);
  21.        putchar(inChar);
  22.    }
  23.  
  24.    fclose(fp);
  25.    return 0;
  26. }
  27.  
  28.  

Бележки

При неуспешно отваряне на файл върнатия нулев указател не трябва да се подава на функцията fclose.

Виж също

fclose - затваря файл
fflush - записва съдържанито на буфира
fgetc - прочита символ от поток
fputc - печата символ
fread - чете от файл
freopen - отваря повторно файл
fseek - премества позицията в файл
fwrite - пише във файл
fscanf - чете форматиран вход от файл