C语言文件读写,单个字符读写,字符串读写,二进制码流读写

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<sys/types.h>

struct Message
{
char name[10];
char age;

};

int main(void)
{
struct Message node = {"祥子",'1' };
struct Message noderead;
FILE *fp = fopen("./file1.txt", "r+");
char ch;
//读出单个字符
ch = fgetc(fp);
//写入单个字符
fputc('m', fp);

//读出字符串 ,fgets()函数读到'\n'就停止,而不管是否达到数目要求。同时在读取字符串的最后加上'\0'。也就是读8位,再补\0
//在读出n-1个字符之前,如遇到了换行符或eof,则读出结束. feof(file*)查看文件指针是否到文件的结尾,是则返回.
char buf[128];
while (!feof(fp))
{
fgets(buf, 100, fp);
printf("%s\n", buf);
}
//写入字符串,fp在哪里就写入哪里,将文件指针移到文件开头函数 fseek(file*)
//fseek(fp, 0, seek_set);
char arr[20] = "\n hello world! \n";
fputs(arr, fp);
fflush(fp);

//二进制块写入
fwrite(&node, sizeof(struct Message), 1, fp);
fflush(fp);
//二进制块读出
fseek(fp,-sizeof(struct Message) , SEEK_END);
fread(&noderead, sizeof(struct Message), 1, fp);
printf("name=%s,age=%c\n", noderead.name, noderead.age);

fclose(fp);
system("pause");
return 0;
}

posted on 2016-08-09 13:06  A-祥子  阅读(4052)  评论(0编辑  收藏  举报

导航