2024-2-18-IO作业

news2024/11/29 12:46:22

作业:

1>

要求:

源代码:

#include "myhead.h"
int main(int argc, char const *argv[])
{
    FILE *fp=NULL;
    if ((fp=fopen("./text.txt","r"))==NULL)
    {
        perror("fopen error");
        return -1;
    }
    char buf[64]={0};
    int line=0;
	while((fgets(buf, sizeof(buf)-1, fp)) != NULL)//循环读取fp中的内容,直到读到文件末尾结束
	{
		if(buf[strlen(buf)-1] == '\n')//判断是否读到新行符
			line++;
	}
    printf("line = %d\n",line);
    return 0;
}

效果图:

2>

要求:

源代码:

#include "myhead.h"
int main(int argc, char const *argv[])
{
    FILE *src = NULL;
    if ((src = fopen("./t1.txt", "r")) == NULL)
    {
        perror("fopen error");
        return -1;
    }

    FILE *dest = NULL;
    if ((dest = fopen("./t12.txt", "w+")) == NULL)
    {
        perror("fopen error");
        return -1;
    }

    char buf[128];
    while ((fgets(buf, sizeof(buf) - 1, src)) != NULL)
    {
        fputs(buf, dest);
    }
    fclose(src);
    fclose(dest);

    return 0;
}

效果图:

3>

要求:

源代码:

#include "myhead.h"
void sign_in();
void log_in();
int main(int argc, char const *argv[])
{
    int menu = 0;
    while (1)
    {
        //system("clear");
        printf("\t\t=========XXX登入界面XXX=======\n\n");
        printf("\t\t=========1-注册=======\n");
        printf("\t\t=========2-登入=======\n");
        printf("\t\t=========0-退出=======\n");
        printf("请输入选项:");
        scanf("%d", &menu);
        getchar();
        switch (menu)
        {
        case 1:
        {
            sign_in();
        }
        break;
        case 2:
        {
            log_in();
        }
        break;
        case 0:
            exit(-1);
            break;
        default:
            printf("您输入功能有误,请重新输入:\n");
        }
        printf("输入任意键按回车结束\n");
        while (getchar() != '\n')
            ;
    }

    return 0;
}
// 注册函数
void sign_in()
{

    FILE *fp = NULL;                             // 操作文件的句柄
    if ((fp = fopen("./sign.txt", "a+")) == NULL) 
    {
        perror("fopen error");
        return;
    }
    char id[50] ;//定义用户名所用字符串    
    char password[50];//定义密码所用字符串  
    //将终端输入写入id和password字符数组中,再通过fp写进文件中
    printf("请输入账户:");
    fgets(id, sizeof(id), stdin);
    fputs(id, fp);
    printf("请输入密码:");
    fgets(password, sizeof(password), stdin);
    fputs(password, fp);
    printf("sign in success\n");
    fclose(fp);
}
// 登录函数
void log_in()
{
    FILE *fp = fopen("./sign.txt", "r");//已只读的方式打开文件
    if (fp == NULL)
    {
        perror("fopen error");
        return;
    }
    //将终端输入记录在对应字符数组中,方便以后比较
    char id[64] = "";
    printf("请输入帐号:");
    fgets(id, sizeof(id) - 1, stdin);
    char password[64] = "";
    printf("请输入密码:");
    fgets(password, sizeof(password) - 1, stdin);

    char buf1[64];//用来读取第一行
    char buf2[64];//用来读取第二行
    while (1) // 两行一组,遍历fp来匹配
    {
        //直到fp到文件末尾还没匹配才输出error
        if (fgets(buf1, sizeof(buf1), fp) == NULL)
        {
            printf("log in error\n");
            break;
        }
        fgets(buf2, sizeof(buf2), fp);
        //只要有一组匹配就break
        if (strcmp(id, buf1) == 0 && strcmp(password, buf2) == 0)
        {
            printf("log in success\n");
            break;
        }
    }
    fclose(fp);
}

效果图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1455718.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GPT-5,奥特曼最新剧透

GPT-5的消息越来越藏不住了,连OpenAI CEO奥特曼都不再遮遮掩掩—— 开始在各种公开场合频繁造势,不断挑动科技圈的神经。 在达沃斯经济论坛,奥特曼一共参加了4-5场活动,透露的关键信息包括: 如果GPT-4目前解决了人类…

Linux第60步_“buildroot”构建根文件系统第2步_配置“buildroot下的busybox”并测试“buildroot”生成的根文件系统

1、查看“buildroot下的busybox”安装路径 打开终端 输入“ls回车” 输入“cd linux回车/”,切换到到“linux”目录 输入“ls回车”,查看“linux”目录下的文件和文件夹 输入“cd buildroot/回车”,切换到到“buildroot”目录 输入“ls…

PyCharm 调试过程中控制台 (Console) 窗口内运行命令 - 实时获取中间状态

PyCharm 调试过程中控制台 [Console] 窗口内运行命令 - 实时获取中间状态 1. yongqiang.py2. Debugger -> Console3. Show Python PromptReferences 1. yongqiang.py #!/usr/bin/env python # -*- coding: utf-8 -*- # yongqiang chengfrom __future__ import absolute_imp…

数学实验第三版(主编:李继成 赵小艳)课后练习答案(十四)(1)

实验十四:水塔水流量估计模型 练习一 1.海水温度随着深度的变化而变化,海面温度较高,随着深度的增加,海水温度越来越低.通过验观测得一组海水温度t与深度h的数据如下: h/m 0 1.5 2.5 4.6 8.2 12.5 16.5 26.5 t/℃ 23.5 22.9 20.1 19.1 15.4 11.5 …

阿里云服务器配置怎么选?CPU内存带宽配置多大?

阿里云服务器配置怎么选择?根据实际使用场景选择,个人搭建网站可选2核2G配置,访问量大的话可以选择2核4G配置,企业部署Java、Python等开发环境可以选择2核8G配置,企业数据库、Web应用或APP可以选择4核8G配置或4核16G配…

IDEA2023.3.4开启SpringBoot项目的热部署【简单明了4步操作】

添加devtools依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional> </dependency>IDEA开启自动编译 …

Windows11(非WSL)安装Installing llama-cpp-python with GPU Support

直接安装&#xff0c;只支持CPU。想支持GPU&#xff0c;麻烦一些。 1. 安装CUDA Toolkit (NVIDIA CUDA Toolkit (available at https://developer.nvidia.com/cuda-downloads) 2. 安装如下物件&#xff1a; gitpythoncmakeVisual Studio Community (make sure you install t…

对尾递归的理解(有哪些应用场景)

文章目录 一、递归二、尾递归三、应用场景参考文献 一、递归 递归&#xff08;英语&#xff1a;Recursion&#xff09; 在数学与计算机科学中&#xff0c;是指在函数的定义中使用函数自身的方法 在函数内部&#xff0c;可以调用其他函数。如果一个函数在内部调用自身本身&am…

如何将OSGB格式的倾斜模型转换成3DTiles?

通过以下方法可以将OSGB转换成3DTiles。 方法/步骤 1、下载三维地图浏览器 http://www.geosaas.com/download/map3dbrowser.exe&#xff0c;安装完成后桌面上出现”三维地图浏览器“图标。 2、双击桌面图标打开”三维地图浏览器“ 3、点击“倾斜模型”下拉菜单&#xff0c;…

C++职工管理系统

->需求分析以及案例展示、创建项目、创建职工管理类、菜单功能实现、退出系统功能实现、职工抽象类和普通员工类实现、经理类和老板类实现、添加职工功能实现、文件交互(->写文件、读文件1-文件未创建、读文件2-文件为空、读文件3-统计人数、读文件4-初始化完毕&#xff…

代码提交commit规范工具

一、idea工具 1.1安装 下载插件&#xff0c;以下是插件名 git commit message helper 安装后重启idea。 1.2使用 第一步&#xff1a; 根据代码提交的不同情况&#xff0c;选择不同的类型 feat表示&#xff1a;新增特性 fix表示&#xff1a;修复bug 等等。。。。 1.3效果…

扶贫助农|基于springboot的扶贫助农系统设计与实现(源码+数据库+文档)

扶贫助农系统目录 目录 基于springboot的扶贫助农系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户信息管理 2、扶贫任务管理 3、论坛信息管理 4、扶贫公告管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐…

2.18总结

这两天在加强对最短路径的学习&#xff0c;除了Floyed比较简单之外&#xff0c;dijkstra、bell-mandford和SPFA学起来感觉有些难&#xff0c;洛谷上的模板题卡了半天都没写出来&#xff0c;最后只能通过看题解来帮助自己完成。 SPFA 算法实现&#xff1a; 最短路径算法对比比较…

java的泛型【详解】

定义类、接口、方法时&#xff0c;同时声明了一个或者多个类型变量&#xff08;如&#xff1a;<E>&#xff09; &#xff0c;称为泛型类、泛型接口&#xff0c;泛型方法、它们统称为泛型。 作用&#xff1a;泛型提供了在编译阶段约束所能操作的数据类型&#xff0c;并自…

【MySQL】变量、流程控制

一、变量 在MySQL的存储过程与函数中&#xff0c;可以使用变量来存储查询或计算的中间结果数据&#xff0c;或者输出最终的结果数据。它可以分为用户自定义变量与系统变量 1、系统变量 1&#xff09;系统变量分为全局变量&#xff08;需要使用关键字global&#xff09;和会话…

上位机图像处理和嵌入式模块部署(boost库的使用)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 作为c程序员来说&#xff0c;除了qt之外&#xff0c;另外值得学的开发库就是boost。boost本身包含的内容非常多&#xff0c;基本我们常用的功能都已…

linux下ffmpeg调用GPU硬件解码(VDPAU/VAAPI)保存文件

本文讲解在linux下面&#xff0c;如何通过ffmpeg调用GPU硬件解码&#xff0c;并保存解码完的yuv文件。 其实&#xff0c;ffmpeg自带的例子hw_decode.c这个文件&#xff0c;就已经能满足要求了&#xff0c;因此&#xff0c;本文就尝试讲解以下hw_decode这个例子。hw_decode.c可以…

使用vscode传入参数的方式进行debug

使用vscode传入参数的方式进行debug {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息&#xff0c;请访问: https://go.microsoft.com/fwlink/?linkid830387"version": "0.2.0","configurations": [{&quo…

【AGI视频】Sora的奇幻之旅:未来影视创作的无限可能

在五年后的未来&#xff0c;科技的发展为影视创作带来了翻天覆地的变化。其中&#xff0c;Sora视频生成软件成为了行业的翘楚&#xff0c;引领着全新的创作潮流。Sora基于先进的Transformer架构&#xff0c;将AI与人类的创造力完美结合&#xff0c;为观众带来了前所未有的视听盛…

【分享】windows11 vmware centos7 搭建k8s完整实验

概述 开年第一天&#xff0c;补充下自己的技术栈。 参考文章: k8s安装 - 知乎 【Kubernetes部署篇】K8s图形化管理工具Dasboard部署及使用_k8s可视化管理工具-CSDN博客 centos7环境下安装k8s 1.18.0版本带dashboard界面全记录&#xff08;纯命令版&#xff09;_sysconfig1.…