Вопрос о работе с файлом C - PullRequest
1 голос
/ 26 января 2011
file * fp = fopen()
file * fd = ????

Я хочу использовать *fd для записи файла, который *fp был открыт ранее.

Как я могу это сделать?

Добавьте несколько, ключ этого вопросаиспользуйте другой указатель, чтобы сделать это.Видите, * fd - это другой указатель.Жаль, что я ясно дал понять.

Ответы [ 2 ]

5 голосов
/ 26 января 2011
file* fd = fp;           

Если я вас правильно понимаю, конечно.

5 голосов
/ 26 января 2011

Используйте fwrite, fputc, fprintf или fputs, в зависимости от того, что вам нужно.

С fputc вы можете поставить char:

FILE *fp = fopen("filename", "w");
fputc('A', fp); // will put an 'A' (65) char to the file

С fputs вы можете поместить массив char (строка):

FILE *fp = fopen("filename", "w");
fputs("a string", fp); // will write "a string" to the file

С помощью fwrite вы также можете записать двоичные данные:

FILE *fp = fopen("filename", "wb");
int a = 31272;
fwrite(&a, sizeof(int), 1, fp);
// will write integer value 31272 to the file

С помощью fprintf вы можете записывать отформатированные данные:

FILE *fp = fopen("filename", "w");
int a = 31272;
fprintf(fp, "a's value is %d", 31272);
// will write string "a's value is 31272" to the file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...