文件的分类:
文本文件:存储的是ASCII码的二进制
二进制文件:存储的是数据的补码
文件IO:
FILE *fopen(const char *path, const char *mode);
功能:打开或创建文件
path:文件的路径
mode:打开模式
r 以只读权限打开文件,如果不存在则打开失败。
r+ 在r的基础上增加写权限
w 以只写权限打开文件,如果文件不存在则新建,如果文件存在则清空。
w+ 在w的基础上增加读权限
a 以只写权限打开文件,如果文件不存在则新建,如果文件存在不清空,新写入的数据在文件的末尾。
a+ 在a的基础上增加读权限
以上方式是以文本形式操作文件,在它们基础上加b表示以纯二进制形式操作文件。
返回值:结构指针,不需要关心它的成员,只需要知道它是操作文件的凭证。
二进制方式读写
size_t fwrite(const void *ptr, size_t size, size_t nmemb,
FILE *stream);
功能:把内存中的数据写入到文件中
ptr:内存地址
size:一次写入多少字节
nmemb:写入多少次
stream:文件指针,fopen的返回值
返回值:成功写入的次数
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
功能:从文件中读取数据到内存
size:一次读取多少字节
nmemb:读取多少次
stream:文件指针,fopen的返回值
返回值:成功读取到的次数
文本方式读写:
int fprintf(FILE *stream, const char *format, ...);
功能:以文本形式写入数据到文件
stream:要写入的文件
format:占位符和提示信息
...:变量名
返回值:成功写入的字节数
int fscanf(FILE *stream, const char *format, ...);
功能:从文件中读取数据到变量
stream:要读取的文件
format:占位符
...:变量名地址
返回值:成功读取到的变量的个数
int fclose(FILE *fp);
功能:关闭文件
文件位置指针:
每个打开的文件都有一个指针记录着操作的位置,它会随着读写函数而移动,以r、r+、w、w+打开的文件位置指针在开头,以a、a+打开的文件位置指针在末尾。
如果想随机读取文件的任何位置数据需要手动设置文件的位置指针。
int fseek(FILE *stream, long offset, int whence);
功能:设置文件的位置指针
stream:要设置的文件
offset:偏移值
whence:基础位置
SEEK_SET 文件开头
SEEK_CUR 当前位置
SEEK_END 文件末尾
返回值:成功返回0,失败返回-1。
void rewind(FILE *stream);
功能:把文件位置指针设置到开头
long ftell(FILE *stream);
功能:获取文件位置指针的位置
返回值:第几个字节
int feof(FILE *stream);
功能:检查文件位置指针是否到达末尾。
返回值:0说明到达文件末尾
char *fgets(char *s, int size, FILE *stream);
功能:从文件中读取一行字符串
int fputs(const char *s, FILE *stream);
功能:写入一个字符串到文件,会自动添加一个\n
返回值:成功读取到的字符个数
int fputc(int c, FILE *stream);
功能:写入一个字符串
返回值:成功返回定稿的字符,失败返回-1。
int fgetc(FILE *stream);
功能:从文件中读取一个字符
返回值:失败返回-1
int remove(const char *pathname);
功能:删除文件
返回值:成功返回0,失败返回-1。
int rename(const char *old, const char *new);
功能:重命名文件
返回值:成功返回0,失败返回-1。
main函数参数:
是为了获取命令行附加的参数
argc 代表参数的个数
argv 每个字符的首地址
github上传项目:
1、创建仓库
2、安装git
sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
sudo apt-get install git
3、配置个人信息
git config --global user.name "用户名"
git config --global user.email "邮箱"
4、生成密钥
ssh-keygen -t rsa -C "邮箱"
一路回车,会在用户主目录.ssh/id_rsa.pub 生成密钥文件,打开后复制。
5、登记客户端密钥
Settings->SSH and GPG keys->NEW SSH key
粘贴后并设置标题,ADD SSH key
6、验证 ssh -T git@github.com
7、克隆仓库
git clone https://github.com/zzxxwyz/test
8、添加文件
git add file.c 添加单个文件
git add . 添加当前目录所文件
9、提交
git commit -m "说明"
10、上传到github
git push origin master
输入用户名密码
注意:一定要联网。
总结:
C的学习现在已经告一段落了,现在要做的就是夯实基础,做一些小项目练练手,把之前学的知识点好好看一看,查漏补缺,接下来会继续更新一些数据结构学习相关的博客。