当前位置: 首页 > news >正文

长沙3合1网站建设专业的网络推广

长沙3合1网站建设,专业的网络推广,java语言做网站开发,数字化文化馆网站建设一、C中文件操作简介 c中的文件操作大致和linux的文件操作类似,但是毕竟是不同的API,所以会有些差异。部分差异会在下面的案例中体验 二、fopen open的参数有两个一个是文件名,一个是模式选择,不同open函数,open中的模…

一、C中文件操作简介

        c中的文件操作大致和linux的文件操作类似,但是毕竟是不同的API,所以会有些差异。部分差异会在下面的案例中体验

二、fopen

        open的参数有两个一个是文件名,一个是模式选择,不同open函数,open中的模式是一个枚举mode_t, 这里的mode类型是一个字符中。

#include <stdio.h>FILE *fopen(const char *pathname, const char *mode);

open参数描述

pathname文件路径
mode模式,设置权限

mode

r以只读方式打开文件
r+以读写方式打开文件
w清空文件或创建文件
w+以读写方式打开文件,文件不存在会创建,如果存在会被截断
a以追加形式打开文件,文件不存在会创建,只能将内容添加到尾部
a+以读写方式打开文件,并在文件后面追加,文件不存在会创建

 返回值

        指向文件流的FILE *指针类型,失败返回NULL

 fopen 和open flag 转换表

三、close

close 比较简单,参数只一个打开的文件的描述符。成功返回0,失败返回EOF。

#include <stdio.h>int fclose(FILE *stream);

四、read

read函数尝试从stream 中 读取nmemb条数据,每条数据的大小为size,并把读取的数据放在ptr指针中。所以读取的数据大小 为 nmemb * size。

如果读取成功返回nmemb; 

如果nmemb * size 超过文件的大小,返回的nmemb大小等于刚超过文件大小的值。比如文件中只有12345,size设置成3,nmemb如果设置成2,则返回2,如果设置超过2,也只能返回2。

nmemb: 可以理解为number of member block, 内存块的数量

#include <stdio.h>size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);

五、write

write函数尝试向stream 中写入nmemb条数据,每条数据的大小为size,写入的数据放在ptr指针中。所以写入的数据大小为 nmemb * size。

如果写入成功返回nmemb;

如果nmemb * size 超过ptr缓冲区大小也能写入成功,也会返回nmemb。

#include <stdio.h>size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);

六、lseek

重定位光标的位置。根据设置whence 来进行offset偏移,offset为负代码左偏移,为正代表右偏移。

成功返回0,失败返回-1; 通过调用ftell来获取当前光标的位置。而不是像lseek直接返回光标的位置。

#include <sys/types.h>
#include <unistd.h>off_t lseek(int fd, off_t offset, int whence);

常用 whence

SEEK_SET定位到文件起始位置
SEEK_CUR定位到当前位置
SEEK_END定位到文件结束位置

七、自定cp命令

argc: 代表参数数量 argument count 

argv :代表argument vector ,是一个指针数组(数组元素类型是char *),或者说是一个二级指针(char **argv)

#include <stdio.h>
#include <string.h>
#include <stdlib.h>int main(int argc, char *argv[]) {FILE *src, *des;char *readBuf = NULL;if(argc != 3) {printf("paramer error\n");exit(-1);}src = fopen(argv[1], "r");fseek(src, 0, SEEK_END);int size = ftell(src);fseek(src, 0, SEEK_SET);printf("size = %d", size);readBuf = (char *)malloc(sizeof(char) * size + 1);int readCount = fread(readBuf, size, 1, src);des = fopen(argv[2],  "w+");fwrite(readBuf, strlen(readBuf), 1, des);fclose(src);fclose(des);return 0;
}

http://www.khdw.cn/news/23584.html

相关文章:

  • 青岛h5建站模板哪里有seo排名优化
  • 做百科需要发哪些网站百度检索入口
  • 网站建设人员职责互联网营销师证书含金量
  • 网页设计简单基础页面模板百度seo公司一路火
  • 企业网站wap源码学做网站培训班要多少钱
  • 创业做网站需要哪些seo优化分析
  • wordpress bae版知名的seo快速排名多少钱
  • 怎么做快法务类似网站郑州seo优化阿亮
  • 做一视频网站网站优化公司收费
  • 龙岩网站设计理念百度竞价专员
  • 网站设计与制作一般步骤seo外包杭州
  • 中国十大电商排行榜泉州关键词优化软件
  • net创建网站之后怎么做百度授权代理商
  • 沈阳模板建站方案网店代运营和推广销售
  • 绵阳网站设计公司网站怎么优化排名靠前
  • 宁波市北仑区建设局网站营销型企业网站建设的内容
  • 网站建设制作软件网络推广都有哪些方式
  • 北京专业网站建设公司排名传智播客培训机构官网
  • 惠州关键词排名推广青岛网站建设方案优化
  • 深圳建设网站培训机构郑州网站优化排名
  • 网站建设小程序微博营销的特点
  • 销售crm南通百度seo代理
  • 网站四对联广告代码百度权重划分等级
  • 住房和城乡建设部是国家认定网站吗培训机构招生方案范文
  • 如何制作自己的网站图?网络推广方法大全
  • 怎么简单攻击一个网站最新新闻热点事件2023
  • 半岛晨报大连最新疫情徐州网页关键词优化
  • 怎么做简易网页无锡网站seo
  • 保定网站设计多少钱免费大数据分析网站
  • 镇江网站建设推广公司网络营销推广seo