标准IO函数练习

这篇具有很好参考价值的文章主要介绍了标准IO函数练习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、使用fgets实现计算一个文件有几行

#include <head.h>
int main(int argc, const char *argv[])
{
    FILE *fp =fopen("1.txt","r");
    if(NULL == fp)
    {
        ERR_MSG("fopen");
        return -1;
    }
    char str[10]="";
    int count=0;
    while(1)
    {
        if(fgets(str,sizeof(str),fp) == NULL)
            break;
        count++;
    }
    printf("有%d行\n",count);
    fclose(fp);

    return 0;
}

二、用fread和fwrite实现文件拷贝

#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
    FILE *fp = fopen("1.txt","r");
    if(NULL == fp)
    {
        fprintf(stderr,"__%d__",__LINE__);
        perror("fopen");
        return -1;
    }   
    FILE *fp_w = fopen("2.txt","w");
    if(NULL == fp_w)
    {   
        fprintf(stderr,"__%d__",__LINE__);
        perror("fopen");
        return -1;
    }   
    char str[128];
    while(1)
    {
        memset(str,0,sizeof(str));
        res = fread(str,1,sizeof(str),fp);
        if(res == 0)
            break;
        fwrite(str,1,res,fp_w);
    }
    fclose(fp);
    fclose(fp_w);
    return 0;
}

文章来源地址https://www.toymoban.com/news/detail-608852.html

到了这里,关于标准IO函数练习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • IO进程线程作业day2

    使用fread和fwrite完成两个图片文件的拷贝 现象展示:  使用read、write完成两个图片文件的拷贝 效果图   3 将时间在文件中跑起来 1、17:30:41 2、17:30:42 3、17:30:43 键入ctrl+c,结束进程后 ... 4、17:35:28 5、17:35:29 效果图:  思维导图

    2024年02月19日
    浏览(39)
  • IO进程线程day4作业

    代码: 运行结果:  

    2024年02月21日
    浏览(54)
  • Java/Python/Go不同开发语言在进程、线程和协程的设计差异

    在多线程项目开发时,最常用、最常遇到的问题是 1,线程、协程安全 2,线程、协程间的通信和控制 本文主要探讨不同开发语言go、java、python在进程、线程和协程上的设计和开发方式的异同。 进程 进程是 操作系统进行资源分配的基本单位,每个进程都有自己的独立内存空

    2024年01月23日
    浏览(47)
  • IO进程线程day3(2023.7.31)

    文件描述符概念: 练习1:用fread和fwrite实现文件拷贝  练习2:time 功能:从1970-1-1日至今的秒数 原型: 参数: 返回值: 练习3:localtime 功能:将1970-1-1日至今的秒数转换成日历格式 原型: 参数: 返回值: 例题:  练习4:文件描述符的总量 练习5:open 功能:打开一个文件

    2024年02月14日
    浏览(32)
  • IO进程线程day8(2023.8.6)

    管道的原理: 有名管道的特点:  信号的原理: 练习1:pipe 功能:创建一个无名管道,同时打开无名管道的读写端 原型: 参数: 返回值: 小练:  练习2:mkfifo 功能:创建一根有名管道 原型: 参数: 返回值: 练习3:操作有名管道 功能:操作有名管道与用文件IO操作普通

    2024年02月14日
    浏览(36)
  • IO进程线程,文件IO(open),文件(stat)与目录(opendir)属性的读取

          一、文件IO 1、文件io通过系统调用来操作文件 系统调用:系统提供给用户的一组API(接口函数)         open/read/write/close/lseek... 用户空间进程访问内核的接口 把用户从底层的硬件编程中解放出来 极大的提高了系统的安全性 使用户程序具有可移植性(同一系统下) 是操作

    2024年02月11日
    浏览(35)
  • IO进程线程,文件与目录,实现linux任意目录下ls -la

    注意文件的名字、路径是如何输入的。 函数opendir打开目录,struct dirent,struct stat这些结构体的含义。          readdir()函数是一个用于读取目录内容的系统调用或库函数,在类Unix操作系统中(如Linux)广泛使用。它用于遍历目录,并逐个获取目录中的条目(文件和子目录

    2024年02月10日
    浏览(39)
  • 标准C库之raise,abort函数(进程通信函数,发送信号类函数)

    如果,想要深入的学习标准C库中的raise,abort函数,还是需要去自己阅读Linux系统中的帮助文档。 具体输入命令: 即可查阅到完整的资料信息。 raise 是一个C语言标准库函数,它的作用是给当前进程发送信号。它属于信号处理库(signal.h),允许程序员通过代码控制信号的发送

    2023年04月26日
    浏览(41)
  • Linux入门之多线程|线程|进程基本概念及库函数

    目录 一、线程 1.线程的概念 补充知识点:页表 2.线程的优点 3.线程的缺点 4.线程异常 5.线程用途 二、线程与进程的区别与联系 三、关于进程线程的问题 0.posix线程库 1.创建线程 关于pthread_create的后两个参数 1.传入指针 2.传入对象 2.线程终止 3.取消线程 4.线程等待(等待线程

    2024年02月10日
    浏览(37)
  • 【C语言趣味教程】(8) 标准 IO 流:输入和输出 | 标准输入 stdin | 标准输出 stdout | 详解 printf 和 scanf | 探讨 scanf 缓冲区问题和安全性问题

        🔗 《C语言趣味教程》👈 猛戳订阅!!! 0x00 引入:I/O 的概念 计算机中的输入和输出,简称 ,其中:  代表 Input,即输入。

    2024年02月09日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包