Функција фопен () у Ц ++ отвара одређену датотеку у одређеном режиму.
прототип фопен ()
ФИЛЕ * фопен (цонст цхар * назив датотеке, цонст цхар * режим);
fopen()
Функција траје два аргумента и враћа фајл ток повезан са том фајлу одреди аргумент датотеке.
Дефинисано је у заглављу датотеке.
Различите врсте режима приступа датотекама су следеће:
Режим приступа датотекама | Тумачење | Ако датотека постоји | Ако датотека не постоји |
---|---|---|---|
"р" | Отвара датотеку у режиму читања | Читајте од почетка | Грешка |
"в" | Отвара датотеку у режиму писања | Избришите сав садржај | Направите нову датотеку |
"а" | Отвара датотеку у режиму додавања | Почните да пишете од краја | Направите нову датотеку |
"р +" | Отвара датотеку у режиму читања и писања | Читајте од почетка | Грешка |
"в +" | Отвара датотеку у режиму читања и писања | Избришите сав садржај | Направите нову датотеку |
"а +" | Отвара датотеку у режиму читања и писања | Почните да пишете од краја | Направите нову датотеку |
фопен () Параметри
- име датотеке: показивач на низ који садржи име датотеке коју треба отворити.
- начин: показивач на низ који одређује начин у којем се датотека отвара.
фопен () Повратна вредност
- Ако је успешна,
fopen()
функција враћа показивач на објекат ФИЛЕ који контролира отворени ток датотека. - У случају неуспеха, враћа нулл показивач.
Пример 1: Отварање датотеке у режиму писања помоћу фопен ()
#include #include using namespace std; int main() ( int c; FILE *fp; fp = fopen("file.txt", "w"); char str(20) = "Hello World!"; if (fp) ( for(int i=0; i
When you run the program, it will not generate any output but will write "Hello World!" to the file "file.txt".
Example 2: Opening a file in read mode using fopen()
#include using namespace std; int main() ( int c; FILE *fp; fp = fopen("file.txt", "r"); if (fp) ( while ((c = getc(fp)) != EOF) putchar(c); fclose(fp); ) return 0; )
When you run the program, the output will be (Assuming the same file as in Example 1):
Hello World!
Example 3: Opening a file in append mode using fopen()
#include #include using namespace std; int main() ( int c; FILE *fp; fp = fopen("file.txt", "a"); char str(20) = "Hello Again."; if (fp) ( putc('',fp); for(int i=0; i
When you run the program, it will not generate any output but will append "Hello Again" in a newline to the file "file.txt".