Você está na página 1de 26

-

-
- remove rename

2



3
• FILE *
• FILE stdio.h

• FILE *fp1, *fp2;

4
• stdio.h

stdio.h

5
• stdio.h




• EOF

6

• 32767
3276 7

7
#include <stdio.h>

#include <stdlib.h>

FILE *fopen( #define FILENAME "meu-ficheiro.txt"

const char *filename,


int main() {
const char *mode)
FILE *fp = fopen(FILENAME, "r");

if (fp == NULL) {
• filename
exit(EXIT_FAILURE);

}
• mode

printf(“Aberto com sucesso %s", FILENAME);




• fclose(fp);

return 0;

8
“r” fopen() NULL

“w”

“a”

“r+” fopen() NULL

“w+”

“a+”

“rb” fopen() NULL

“wb”

“ab”

“r+b” ou “rb+” fopen() NULL

“w+b” ou “wb+”

“a+b” ou “ab+”

9
• fopen
\
• fopen("c:\estgf\test1.dat", "r") \t

• \\ \
fopen("c:\\folder\\test.dat", "r")
• / \
fopen("c:/folder/test.dat", "r")

10
#include <stdio.h>

#include <stdlib.h>

#define FILENAME "meu-ficheiro.txt"

int main() {

int fclose(FILE *stream) FILE *fp = fopen(FILENAME, "r");

if (fp == NULL) {

• exit(EXIT_FAILURE);

• 0 }

• EOF
printf(“Aberto com sucesso %s", FILENAME);

fclose(fp);

return 0;

11
#include <stdio.h>
#include <stdlib.h>

#define FILENAME "meu-ficheiro.txt"

int main() {
char ch;
int fgetc(FILE *stream)
FILE *fp = fopen(FILENAME, "r");
if (fp == NULL) {
• exit(EXIT_FAILURE);
• }
• EOF
while ((ch = getc(fp)) != EOF) {
putchar(ch);
}

fclose(fp);
return 0;
}

12
#include <stdio.h>
#include <stdlib.h>

#define FILENAME "meu-ficheiro.txt"


char *fgets(char *str, #define STR_SIZE 25
int num,
int main() {
FILE *stream) char str[STR_SIZE];

• num-1 stream FILE *fp = fopen(FILENAME, "r");


str if (fp == NULL) {
• str ‘\0’ exit(EXIT_FAILURE);
• ‘\n’ EOF }


if (fgets(str, STR_SIZE, fp) != NULL) {
• str
puts(str);
}
• NULL
fclose(fp);
return 0;
}

13
#include <stdio.h>
#include <stdlib.h>

#define FILENAME "meu-ficheiro.txt"


#define STR_SIZE 25
int fscanf(FILE * stream,
const char *format, int main() {
...) char str[STR_SIZE];
int num;

• format scanf FILE *fp = fopen(FILENAME, "r");

• if (fp == NULL) {
exit(EXIT_FAILURE);

}

• 0
fscanf(fp, "%s %d", str, &num);
• EOF
printf("%s %d", str, num);

fclose(fp);
return 0;
}

14
#include <stdio.h>
#include <stdlib.h>

#define FILENAME "meu-ficheiro.txt"

int main() {
int fputc(int character, char letra;

FILE *stream)
FILE *fp = fopen(FILENAME, "w");
if (fp == NULL) {
• exit(EXIT_FAILURE);
}

• EOF
for (letra = 65; letra < 91; letra++) {
fputc(letra, fp);
}

fclose(fp);
return 0;
}

15
#include <stdio.h>
#include <stdlib.h>

#define FILENAME "meu-ficheiro.txt"

int fputs(const char *str,


FILE *stream) int main() {
FILE *fp = fopen(FILENAME, "w");
if (fp == NULL) {
• exit(EXIT_FAILURE);
}
• EOF
fputs("test 1", fp);

fclose(fp);
return 0;
}

16
#include <stdio.h>
#include <stdlib.h>

#define FILENAME "meu-ficheiro.txt"


int fprintf(FILE *stream,
const char *format, int main() {

...) FILE *fp = fopen(FILENAME, "w");


if (fp == NULL) {
exit(EXIT_FAILURE);
• format printf }


if (fprintf(fp, "%s %d", "test", 1) < 0) {

puts("Aconteceu um erro");
}

fclose(fp);
return 0;
}

17
#include <stdio.h>
#include <stdlib.h>

#define FILENAME "meu-ficheiro.txt"

int main() {
char ch;
int feof(FILE *stream)
FILE *fp = fopen(FILENAME, "r");
if (fp == NULL) {

exit(EXIT_FAILURE);
• 0
}

• 0
while ((ch = getc(fp)) && !feof(fp)) {
putchar(ch);
}

fclose(fp);
return 0;
}

18
#include <stdio.h>
#include <stdlib.h>

#define FILENAME "meu-ficheiro.txt"

int main() {
char ch;

FILE *fp = fopen(FILENAME, "r");


if (fp == NULL) {
void rewind(FILE *stream) exit(EXIT_FAILURE);
}

while ((ch = getc(fp)) != EOF) {


• putchar(ch);

• EOF }

rewind(fp);

while ((ch = getc(fp)) != EOF) {


putchar(ch);
}

fclose(fp);
return 0;
}

19
#include <stdio.h>
#include <stdlib.h>

int ferror(FILE *stream)


#define FILENAME "meu-ficheiro.txt"

• int main() {
FILE *fp = fopen(FILENAME, "r");
if (fp == NULL) {
• 0
exit(EXIT_FAILURE);
}

fprintf(fp, "%s %d", "text", 1);


void perror(const char *str) if (ferror(fp)) {
perror("error");
}

str str fclose(fp);
return 0;
}

20




21
#include <stdio.h>
#include <stdlib.h>

size_t fwrite(const void *ptr, #define FILENAME "meu-ficheiro.bin"


#define ALUNOS_MAX 3
size_t size,
size_t count, typedef struct {
int numero, media;
FILE *stream) } ALUNO;

int main() {
ALUNO alunos[ALUNOS_MAX] = {
• ptr {.numero = 1, .media = 10},
{.numero = 2, .media = 15},
{.numero = 3, .media = 12}
• size };

• count
FILE *fp = fopen(FILENAME, “wb+");
• stream if (fp == NULL) {
exit(EXIT_FAILURE);
• }


fwrite(alunos, sizeof(ALUNO), ALUNOS_MAX, fp);
• count
fclose(fp);
return 0;
}

22
#include <stdio.h>

size_t fread(void *ptr, #include <stdlib.h>

size_t size, #define FILENAME "meu-ficheiro.bin"


#define ALUNOS_MAX 3

size_t count,
typedef struct {

FILE *stream) int numero, media;


} ALUNO;

int main() {
• ptr int i, num_alunos;

size*count ALUNO alunos[ALUNOS_MAX];

• size FILE *fp = fopen(FILENAME, "rb+");


if (fp == NULL) {
• count exit(EXIT_FAILURE);
}
• stream
num_alunos = fread(alunos, sizeof(ALUNO), ALUNOS_MAX, fp);
• for (i = 0; i < num_alunos; i++) {

• printf("\n%d %d", alunos[i].numero, alunos[i].media);


}
• count
fclose(fp);
return 0;
}

23
#include <stdio.h>
#include <stdlib.h>
int fseek(FILE *file_ptr,
#define FILENAME "meu-ficheiro.bin"
long numbytes, #define ALUNOS_MAX 3

int origin) typedef struct {


int numero, media;
} ALUNO;
• file_ptr
int main() {
fopen
ALUNO aluno;
• num_bytes
origin FILE *fp = fopen(FILENAME, "rb+");
if (fp == NULL) {
• origin exit(EXIT_FAILURE);

• SEEK_SET }

• SEEK_CUR fseek(fp, sizeof(ALUNO) * 2, SEEK_SET);


• SEEK_END
fread(&aluno, sizeof (ALUNO), 1, fp);

• printf("\n%d %d", aluno.numero, aluno.media);


• 0
• fclose(fp);
return 0;
}

24
#include <stdio.h>

#define FILENAME "meu-ficheiro.txt"


int rename(const char *old_fn,
const char *new_fn) #define NEW_FILENAME "meu-ficheiroV2.txt"

int main() {
• old_fn new_fn int returnValue;

• 0
returnValue = rename(FILENAME, NEW_FILENAME);
remove if (returnValue == 0) {

rename }
printf(“Renomeado com sucesso.");

int remove(const char *fn)


returnValue = remove(NEW_FILENAME);
if (returnValue == 0) {
• fn printf(“Eliminado com sucesso.");
• 0 }

return 0;
}

25

26

Você também pode gostar