zoukankan      html  css  js  c++  java
  • 链表操作(篇十)

    链表:
    节点定义:
    //数据域的声明
    typedef struct studentInfo
    {
    char name[16];
    int age;
    char sex;
    int grade;
    }stuInfo;

    //节点的声明
    typedef struct node
    {
    	struct studentInfo data;	//数据域
    	struct node *pNext;			//指针域 ---> 存储下一节点地址
    }Node;
    

    文件操作:
    Linux 下一切皆文件
    (1)文件概述
    一组相关数据的有序集合,称之为文件!

    (2)文件指针
    C语言中用一个指针指向文件,这个指针我们称之为文件指针,
    通过这个指针我们就可以对文件进行各种操作

    文件指针的一般定义形式:
    	FILE *指针变量名称;
    注意:
    	FILE 必须大写,它是由系统定义的结构,该结构含有文件名,文件状态和文件当前位置等信息
    	编写程序时可不必在意这些细节
    

    (3)文件的打开和关闭
    打开文件
    读写文件
    关闭文件

    其中,文件内部的数据为了标记文件的结束,文件结尾处有一个宏定义的 EOF(End Of File)
    结束符号,判断文件有没有读取完毕,就是判断 EOF 的值
    
    文件打开:fopen()
    
     FILE *fopen(const char *path, const char *mode);
    	path:文件所在的路径
    	mode:打开文件的方式
    	
    	打开文件失败,则返回 NULL
    
    	系统自动打开和关闭的五个标准文件
    	文件号    文件指针
    		0  		stdin(标准输入)
    		1		stdout(标准输出)
    		2       stderr(标准错误)
    		3       stdaux(标准辅助)
    		4       stdprn(标准打印)
    		
    文件关闭:fclose()
    	int fclose(FILE *stream);
    	返回值:正常返回 0 ,出错返回非 0
    	
    	关闭文件则断开文件指针与文件之间的联系,也即禁止再对文件进行操作
    
    	不关闭文件,可能会导致有些数据不会保存到磁盘。
    
    文件的使用方式:
    	r 读
    	w 写
    	a 追加
    	
    	t 文本文件    b 二进制文件   + 读和写
    
    	mode
    	r       读取   必须保证文件存在
    	w       写入    不存在时,新建文件,存在时则清空文件内容,重写写入
    	a       追加   是在文件末尾添加数据
    	w+	r+  读写操作
    
    	rb+  已读写形式打开二进制文件
    	wt+  以读写形式打开文本文件
    

    (4)文件读写操作
    fgetc()/fputc():字符读写函数
    fgets()/fputs():行读写函数
    fread()/fwrite():块读写

    字符读写函数:
    字符输出:fputc
    	int putc(int c, FILE *stream); //写文件
    字符输入:fgetc
    	int getc(FILE *stream);  //读文件
    
    行读写:
    	行读取:从文件流读取size个字节到 s
    		char *fgets(char *s, int size, FILE *stream);
    	行写入:将字符串 s 写入文件
    		int fputs(const char *s, FILE *stream);
    
    块读写:
    	块读取:fread()
    		
    	块写入:fwrite()
    	
    	//从右向左读取
       size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
    	//从左向右写入
       size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
    
    	ptr:指向要输入/输出数据存储区的指针
    	size:每个要读写的数据块的大小
    	nmemb:要读写的块的个数
    	fp:要操作的文件指针
    
    //将文件指针置于文件首
    void rewind(FILE *stream);
    
    千里之行,始于足下!
  • 相关阅读:
    20145209 《信息安全系统设计基础》第5周学习总结
    20145209 《信息安全系统设计基础》第3周学习总结
    20145209 《信息安全系统设计基础》第1周学习总结
    20145209 《信息安全系统设计基础》第0周学习总结
    单调栈&单调队列入门
    GYM 101617 F
    codeforces 13 D
    codeforces 13 b
    G102040I
    19南昌网络赛L
  • 原文地址:https://www.cnblogs.com/MINAIot/p/13041011.html
Copyright © 2011-2022 走看看