A função fopen () em C ++ abre um arquivo especificado em um determinado modo.
protótipo fopen ()
FILE * fopen (const char * filename, const char * mode);
A fopen()
função recebe dois argumentos e retorna um fluxo de arquivo associado a esse arquivo especificado pelo argumento filename.
É definido no arquivo de cabeçalho.
Os diferentes tipos de modo de acesso a arquivos são os seguintes:
Modo de acesso ao arquivo | Interpretação | Se o arquivo existir | Se o arquivo não existe |
---|---|---|---|
"r" | Abre o arquivo em modo de leitura | Leia desde o início | Erro |
"W" | Abre o arquivo no modo de gravação | Apague todo o conteúdo | Criar novo arquivo |
"uma" | Abre o arquivo no modo anexar | Comece a escrever a partir do final | Criar novo arquivo |
"r +" | Abre o arquivo em modo de leitura e gravação | Leia desde o início | Erro |
"w +" | Abre o arquivo em modo de leitura e gravação | Apague todo o conteúdo | Criar novo arquivo |
"a +" | Abre o arquivo em modo de leitura e gravação | Comece a escrever a partir do final | Criar novo arquivo |
Parâmetros fopen ()
- nome do arquivo: Ponteiro para a string que contém o nome do arquivo a ser aberto.
- modo: Ponteiro para a string que especifica o modo em que o arquivo é aberto.
fopen () Valor de retorno
- Se for bem-sucedida, a
fopen()
função retorna um ponteiro para o objeto FILE que controla o fluxo de arquivo aberto. - Em caso de falha, ele retorna um ponteiro nulo.
Exemplo 1: Abrindo um arquivo no modo de gravação usando fopen ()
#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".