Операции с файлами в C - PullRequest
0 голосов
/ 23 января 2011

Может кто-нибудь указать мне ссылку или учебник для начинающих по обработке файлов в C.

Ответы [ 3 ]

4 голосов
/ 23 января 2011

Вы открываете файл с fopen:

FILE *file=fopen("filename", "r"); // opens a file for reading
if(file) {
    // success
}else{
    // error
}

Если вы замените r на w, то он будет открыт для записи. Если вы включите b в строку режима, она будет открыта как двоичный файл вместо текста, который используется по умолчанию. (в текстовом режиме он выполняет некоторые преобразования, такие как окончания строк и т. д.) Если вы используете r+, он откроет его как для чтения, так и для записи. Если вы используете w+, он усекает файл и открывает его для чтения и записи. Вы также можете использовать a для добавления в файл.

Для чтения из файла используйте fread или fgets:

char buffer[256];
if(fgets(buffer, sizeof(buffer), file)) { // reads a line from the file
    // success
}else{
    // error
}
if(fread(buffer, sizeof(buffer), 1, file)==1) { // reads 256 bytes from the file
    // success
}else{
    // error
}

Чтобы записать в файл, используйте fwrite или fputs:

if(fputs("Hello, world!", file)==0) { // writes a line to the file
    // success
}else{
    // error
}
// ---OR---
const char *data="Hello, world!";
if(fwrite(data, sizeof(data), 1, file)==1) { // writes some data to the file
    // success
}else{
    // error
}

Как только вы закончите с файлом, вы закроете его с помощью fclose:

if(fclose(file)==0) {
    // success
}else{
    // error
}
0 голосов
/ 23 января 2011
$ man fopen
$ man fclose
$ man fread
$ man fwrite
$ man fprintf
$ man fscanf
$ man fflush

И, вероятно, все части "см. Также".

0 голосов
/ 23 января 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...