C小白Jeff日记完结篇:文件的读写和ubuntu12.04下项目上传github

12 篇文章 0 订阅
12 篇文章 0 订阅

文件的分类:

文本文件:存储的是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的学习现在已经告一段落了,现在要做的就是夯实基础,做一些小项目练练手,把之前学的知识点好好看一看,查漏补缺,接下来会继续更新一些数据结构学习相关的博客。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值