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

桥头网站仿做今天刚刚的最新新闻

桥头网站仿做,今天刚刚的最新新闻,网站制作公司 信科网络,市桥做网站的公司一、linux操作命令 【wc】:指定字符统计; 【file 文件名】:可以查看文件的类型; 二、写入函数【fwrite】————可写入二进制文件 形式: size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE…

一、linux操作命令

【wc】:指定字符统计;

【file  文件名】:可以查看文件的类型;

二、写入函数【fwrite】————可写入二进制文件

 形式:

        size_t fwrite(const void *ptr,   size_t size,    size_t nmemb,   FILE *stream);

【const void *ptr】:变量名(或者结构体名);

【 size_t size】:该内容一个多大(或者结构体);

【size_t nmemb】:份数,总共有几个;

【FILE *stream】:需要操作的文件名;

        注意:该函数的返回值为对向数,size_t nmemb成功的数,为整型;

eg:

三、读取函数【fread】————可读取二进制文件

形式:

        size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);

【void *ptr】:接收变量的内存空间,需要定义一个;

【 size_t size】:读取内容所需一个的大小(或者结构体);

【size_t nmemb】:份数,总共有几个(可以比实际大);

【FILE *stream】:需要操作的文件名;

        注意:该函数的返回值为对向数,size_t nmemb成功的数,为整型;

读取可以比实际大,但是写入的时候不能比实际大,否则多出的空间会进行补全

eg:

eg:(1)用fread和fwrite实现拷贝:

 

//用malloc申请空间去实现拷贝
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{FILE* src = fopen("2.png","r");FILE* dst = fopen("3.png","w");if(NULL == src||NULL == dst){fprintf(stderr,"fopen error\n");return 1;}int size = 160743;char *data =(char*)malloc(size);size_t ret = fread(data,size,1,src);if(1 == ret){fwrite(data,size,1,dst);}fclose(dst);fclose(src);free(data);return 0;
}

 标准文件定位

一、fseek

形式:

        int fseek(FILE *stream, long offset, int whence);

【FILE *stream】:需要操作的文件;

long offset,】:偏移量,可正可负;

int whence】:输入指定宏,开头,结尾;【SEEK_SET】开头(偏移量可负,若正则扩展,后面补0);【SEEK_END】结尾:【SEEK_SET】:通常指向上次操作的位置;

返回值为0时,偏移成功,返回值为-1,则表示出错;

二、 long ftell(   )

形式:

                  long ftell(FILE *stream);

返回值为当前的偏移量;可以用来确认文件的大小;

eg:

 三、rewind()

形式

                void rewind(FILE *stream);

将文件流指针指向开始;

 四、缓冲区

        

1、行缓冲区

大小一般为1k,主要用于人机交互stdout
缓存区满或者遇到\n刷新 1024
行缓存多是关于终端的一些操作
1.遇到\n刷新
2.缓存区满刷新
3.程序结束刷新
4.fflush刷新  fflush(stdout);  FILE*fp     stdin stdout stderr 
 

eg: 

 2、全缓冲

缓冲区大小一般4k,主要用于文件的读写
缓存区满刷新缓存区 4096
对普通文件进行标准IO操作,建立
的缓存一般为全缓存
刷新条件:
1.缓存区满刷新
2.程序结束刷新
3.fflush来刷新  fflush(fp);

eg:

 

3、无缓冲 

主要用于出错处理信息的输出 stderr 
不对数据缓存直接刷新
printf();==>>stdout 
fprintf(strerr,"fopen error %s",filename);
界面交互 出错处理
使用gdb查看,FILE结构体,或使用写入数据测试缓冲区。
缓冲区的大小是可以设置
 

eg:

 

 五、文件oi

        操作系统为了方便用户使用系统功能而对外提供的一组系统函数。称之为 系统调用  其中文件IO,一般都是对设备文件操作,当然也可以对普通文件进行操作。

        文件oi:一个基于Linux内核的没有缓存的IO机制;

特性:
.1 没有缓存区
.2 操作对象不在是流,而是文件描述符
.3文件描述符
很小的非负的整数 int   0-1023
内核每打开一个文件就会获得一个文件 描述符
  每个程序在启动的时候操作系统默认为其打开

     三个描述符与流对象匹配:
                          0 ==>STDIN_FILENO === stdin
                          1 ==>STDOUT_FILENO == stdout
                          2 ==>STDERR_FILENO == stderr
                          stdin,stdout,stderr,===>FILE*

 1、open

               int open(const char *pathname, int flags);
               int open(const char *pathname, int flags, mode_t mode);

【const char *pathname】:操作的文件名;

【int flags】标志位输入宏【O_RDONLY】只读, 【O_WRONLY,】只写 、【O_RDWR.】读写;

                        【O_APPEND】追加;接之前的文件写入;

                        【 O_CREAT】创建,第一次创建必须有;

                        【O_TRUNC】清空;

 若要写多个flags:则O_WRONLY|O_CREAT|O_TRUNC,中间用逻辑‘或’  '|' 进行分隔;

【mode_t mode】指定文件的权限;

 mode(权限):

        引入:-rw-rw-r--        一共十个,分成1和9来看

 

 r--          -w-         --x

100        010        001

4              2            1

用八进制表示为0421

 

 一般文件权限给0666

        当有O_CREATE时,给权限0666;若不给则会随机在栈上抓取一个变量用于权限

        umask:掩码默认为002,与0666相减即可得0664

创建目录时用0777; 

 eg:

 2、write

形式:

                ssize_t write(int fd, const void *buf, size_t count);
 

【int fd】 :写入的目的地;

【const void *buf】:写的内容指向的指针;

【size_t count】:长度,写有效长度;

该函数的返回值为带符号的整数;

若成功,则返回值为写入的字节数

若失败,则返回值-1;

 3、关闭close

形式:

        int close(int fd);

4、read

形式

        ssize_t read(int fd, void *buf, size_t count);

【int fd】:需要读取的文件

【void *buf】:读取的文件放在哪里:

【 size_t count】:读取文件的大小;(读取时可以比实际大)

返回值:成功返回值为读到的字节数,

                返回值为0,代表文件读取完成;

        失败时返回值为-1;

 

 

 

  • 文本文件fgets、fputs

  • 二进制文件read、write


 

 

 

http://www.dtcms.com/wzjs/394425.html

相关文章:

  • 购物网站建设新闻信息发布推广方法
  • 付费做SPaSS统计分析的网站营销网络怎么写
  • 做教育的有哪些网站网络营销软件网站
  • 专门做善事的网站百度收录网站
  • 阿里免费版企业邮箱东莞网络排名优化
  • 学习网站建设培训游戏推广是什么工作
  • 东山县城乡规划建设局网站今日头条热点新闻
  • 国内最大的开源网站百度极速版推广员怎么申请
  • 江门网站建设设计网络营销的主要方式
  • 做oa系统的网站上海seo博客
  • 专业做农牧应聘的网站重庆网站快速排名优化
  • 建站市场分析今日头条极速版最新
  • 免费微网站哪个好用web网站设计
  • wordpress单本小说站百度seo排名优化技巧分享
  • 可以做外链网站seo有哪些经典的案例
  • 做网站需要nba表格百度推广的五大优势
  • 单页网站源码最新足球赛事
  • 网站建设公司如何进行工作免费发seo外链平台
  • 贵阳疫情防控政策seo教育
  • 问答类网站怎么做网络优化报告
  • 黄石百度做网站多少钱seo的流程是怎么样的
  • 如何做电商网站分析报告seo推广是什么工作
  • 泸州住房城乡建设局官方网站seo推广服务
  • 网站服务器如何搭建免费广告
  • 优化网站关键词排名软件营销网络的建设
  • eclice网站开发网站发布与推广方式
  • wordpress竖直导航栏整站优化seo平台
  • 东莞美食网站建设报价搜索引擎分类
  • 网站建设whjzyh爱站seo
  • 怎样进入建设通网站谷歌搜索引擎免费入口镜像