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

通辽网站开发0475seo番禺制作网站平台

通辽网站开发0475seo,番禺制作网站平台,医院网站建设招标公告,珠海做网站及推广一、文件 1.标准io stdio.h&#xff1a;标准输入输出库&#xff08;以计算机为中心&#xff09; &#xff08;1&#xff09;头文件&#xff1a; stdio.h 》标准输入输出头文件 /usr/include/stdio.h <> 是系统库函数,默认路径在/usr/include/ …

一、文件

1.标准io

 stdio.h:标准输入输出库(以计算机为中心)

(1)头文件: stdio.h  ==》标准输入输出头文件
         /usr/include/stdio.h
        <>   是系统库函数,默认路径在/usr/include/
        路径 : ====》stdio.h  ===>stdio.c==>libc.so ==>/usr/lib  so 动态库
        ""   是用户自定义函数,默认是当前路径
        路径: ===>xxx.h  ===>xxx.c

(2)man指令

man  xxx  ===>查看当前xxx命令

①NAME:对函数进行粗略介绍

②SYNOPSIS:有关头文件和函数原型(函数的返回值和参数类型)

③DESCRIPTION:对参数的详细说明

④RETURN VALUE:对返回值的描写

3.对文件进行操作(标准io)

(1)步骤:

①打开文件

②读写文件

③关闭文件

注:FILE :文件流指针

(2)函数:

①fopen:

        FILE *fopen(const char *path, const char *mode);
        功能:打开一个文件并建立一个流指针
        参数:path:要打开文件的路径
        mode:
        r :只读文件不存在报错,文件存在则只读打开

        r+ 读写:文件不存在报错,文件存在则读写打开

        w 只写:文件不存在则创建,文件存在则清0只写打开

        w+ 写读:文件不存在则创建,文件存在则清0写读打开

FILE *fp = fopen("1.txt","w");
    if(NULL == fp)
    {
        fprintf(stderr,"error\n");
        return 1;
    }

②fputc:
        int fputc(int c, FILE *stream);
        功能:向流中写入一个字符
        参数:c:要写入的字符
                stream:文件流指针
        返回值:成功返回写入的字符ASCII码值,失败返回EOF

#include<stdio.h>

int main()
{
    FILE *fp = fopen("1.txt","w");
    if(NULL == fp)
    {
        fprintf(stderr,"error\n");
        return 1;
    }

    fputc('h',fp);
    fputc('e',fp);
    fputc('l',fp);
    fputc('l',fp);
    fputc('o',fp);

    fclose(fp);
    return 0;
}

③fgetc
int fgetc(FILE *stream);
        功能:从流中读取一个字符
        参数:stream:文件流指针
        返回值:成功返回读到字符的ASCII码值,读到文件末尾返回EOF

while(1)
    {
        int c = fgetc(fp_cp);
        if(EOF == c)
        {
            break;
        }
        printf("%c",c);
    }

注:利用fgetc/fputc实现Linux系统的复制命令:

#include <stdio.h>
// ./a.out srcfile1 dstfile2
int main(int argc, char** argv)
{
  if(argc<3)
  {
    fprintf(stderr, "usage:./a.out srcfile dstfile\n");
      return 1;
  }
  FILE* src = fopen(argv[1], "r"); // argv[1]
  FILE* dst = fopen(argv[2], "w"); //  "argv[2]"

  if (NULL == src || NULL == dst)
    {
      fprintf(stderr, "fopen error\n");
      return 1;
    }

  while (1)
    {
      int c = fgetc(src);
      if(EOF == c)
      {
        break;
      }
      fputc(c, dst);
    }

    fclose(dst);
    fclose(src);
  // system("pause");
  return 0;
}

④fgets:

char buf[5]={0};
fgets(buf,5,stdin);
char *fgets(char *s, int size, FILE *stream);
        功能:从stream流对象关联的文件中获取size大小字节的文本数据并存储到s对应的本地内存(栈区数组,堆区内存)
        参数: s 要存储数据的本地内存
                   size 要获取的数据长度,单位字节。
                   stream 要获取的目标文件流对象,可以是stdin ,程序会阻塞等待如果是普通文件fp 则指向文件第一行数据
                返回值:成功 返回指向有效数据的首地址,一般等于s的地址,失败或者文件末尾返回NULL;

#include <stdio.h>

int main(int argc, char *argv[])
{
    FILE* fp = fopen("/etc/passwd","r");
    if(NULL == fp)
    {
        fprintf(stderr,"fopen error\n");
        return 1;
    }

    while(1)
    {
        char buf[1024]={0};
        if(NULL == fgets(buf,sizeof(buf),fp))
        {
            break;
        }
        printf("%s",buf);
    }
    
    fclose(fp);
    return 0;
}

⑤fputs:

int fputs(const char *s, FILE *stream);
        功能:从s所在的本地内存中获取一行数据,并写入stream对应的文件流对象。
        参数:s 要写的信息,一般是固定的字符串或者有数据的数组。
                   stream 要写入的目标文件流对象

        返回值:成功 nonnegative number on success,失败 -1;

#include<stdio.h>

int main(int argc,char *argv[])
{
    if(argc < 2)
    {
        fprintf(stderr,"usage: ./a.out filename");
        return 1;
    }
    FILE* fp = fopen(argv[1],"w");
//    FILE* fp = fopen("4.txt","w");
    if(NULL == fp)
    {
        fprintf(stderr,"fopen error");
        return 1;
    }
    fputs("hello",fp);
    fputs("world",fp);
    return 0;
}

注:利用fgets/fputs实现Linux系统的复制命令:

#include<stdio.h>

int main(int argc,char*argv[])
{
    if(argc < 3)
    {
        fprintf(stderr,"usarge: ./a.out srcname destname");
        return 1;
    }
    FILE* fp = fopen(argv[1],"r");
    FILE* cp = fopen(argv[2],"w");
    if(NULL == fp || NULL == cp)
    {
        fprintf(stderr,"fopen error");
        return 1;
    }
    while(1)
    {
        char buf[1024] = {0};
        if(NULL == fgets(buf,sizeof(buf),fp))
        {
            break;
        }
        fputs(buf,cp);
    }
    fclose(fp);
    fclose(cp);
    return 0;
}

⑥fclose

int fclose(FILE *stream);

        功能:关闭文件

        参数:stream:文件流指针

http://www.dtcms.com/a/429023.html

相关文章:

  • 建筑网站哪里找杭州小程序推广
  • 软文素材网抖音矩阵排名软件seo
  • 青海网站建设与维护建设银行的官方网站公告
  • 做企业专业网站一般要多少钱网站建设征集意见
  • 网上做设计的网站有哪些巩义网站建设费用多少
  • h5可以连接别的网站吗cms系统源码
  • 沈阳做网站的科技公司商城网站建设开发多少钱
  • 淘宝客做自己的网站珠海网站关键词推广
  • 上海做家教去哪个网站网站 产品原型
  • 济南网站建设电话电影网站如何做seo优化
  • 网站流量ip造假图片云南建设投资集团网站首页
  • 网站服务做推广vi平面设计公司
  • 包装设计网站资源微信商城购物有保障吗
  • python接口自动化梳理
  • 科技网站 石家庄做网站大概要多
  • 仿网站制作教学视频php免费网站源码
  • C语言数据结构-二叉树
  • 可以翻译文献的软件有哪些?
  • 深圳网站制作建设公司推荐郑州付费系统网站开发建设
  • fmt库使用教程
  • FotoJet Designer(制作海报和图片)多语便携版
  • 我是做装修的怎么样投资网站修改wordpress 字体
  • 中国电信新建网站备案管理系统 录完信息网站建设设计制作公司
  • 邢台企业网站建设好么app生成器手机版
  • 企业做网站需要哪些人员请人做网站需要注意什么条件
  • 网站建设与管理的流程方案知名的网页制作公司推荐
  • 自助健站中国十大服务外包企业
  • 电子商务网站建设文献电子商务在酒店管理网站建设
  • 网站开发开源软件小勇cms网站管理系统
  • 9.30 组合数学