首页 > 其他分享 >实验10 文件

实验10 文件

时间:2024-11-28 17:57:55浏览次数:8  
标签:fp 10 20 文件 实验 输入 txt 个字符

1、文件的综合操作

【问题描述】

编写一个程序,要求如下:

(1)从键盘上输入一个随机种子。

(2)利用该随机种子初始化随机函数(srand()),在ASCII码 [65, 122) 的范围中,随机产生100个字符(通过调用函数rand()产生随机数,比如产生0~99的随机数可以使用rand()%100)。

(3)将这100个字符存储到文件data.txt中,并关闭文件。

(4)从文件data.txt中将数据分成大小相等的2份,分别写入到data1.txt和data2.txt。

(5)将data1.txt和data2.txt文件中的所有数据输出。


【输入形式】

随机种子。


【输出形式】

输出文件中的所有字符。


【样例输入】

1


【样例输出】

data1.txt:

jyHuRrVDBLFmZMld`^hVPM[hHNeUvCaJIYnTRWrbak^JDpeQg]

data2.txt:

LyBh_cCtxfEORSDKcsxT^emD`RPewOV[_EDjHXX`PGCfIrm_PL

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main() 
{
    int i,seed,n=0;
	char a,b;
    scanf("%d",&seed);
    srand(seed);
    FILE* fp=fopen("data.txt","w");
    for (i=0;i<100;i++) 
	{
        a=65+rand()%57;
        fprintf(fp,"%c",a);
    }
    fclose(fp);
    FILE* data=fopen("data.txt", "r");
    FILE* data1=fopen("data1.txt", "w");
    FILE* data2=fopen("data2.txt", "w");
    while ((b=fgetc(data))!=EOF) 
	{
        if (n < 50) 
		{
            fputc(b, data1);
        }
        else 
		{
            fputc(b,data2);
        }
        n++;
    }

    fclose(data);
    fclose(data1);
    fclose(data2);
    data1 = fopen("data1.txt", "r");
    data2 = fopen("data2.txt", "r");

    printf("data1.txt:\n");
    while ((b = fgetc(data1)) != EOF) 
	{
        printf("%c", b);
    }
    fclose(data1);
    printf("\n");
    printf("data2.txt:\n");
    while ((b = fgetc(data2))!=EOF)
	{
        printf("%c",b);
    }
    fclose(data2);
    return 0;
}

2、文件的读写操作

【问题描述】

编写一个程序,要求如下:

(1)从键盘上任意输入20 个字符。

(2)将这20个字符存储到文件file2.txt中,并关闭文件。

(3)读取文件file2.txt中的所有20个字符,将这20个字符中的英文字母大小写形式互换,即如果字符是小写英文字母,那么就变成大写;如果字符是大写英文字母,那么就变成小写;其他字符不变。将这变换后的20个字符追加到file2.txt中。

(4)将file2.txt文件中的所有数据输出。


【输入形式】

任意输入字符。


【输出形式】

输出文件中的所有字符。


【样例输入】

asderf89iuYhgjGfr98u


【样例输出】

asderf89iuYhgjGfr98uASDERF89IUyhGJgFR98U

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
	int i;
	char a[21],b[20],c[41];
	FILE *fp=fopen("file.txt","w+");
	fgets(a,21,stdin);
	fputs(a,fp);
	rewind(fp);
	for(i=0;i<20;i++)
	{
		a[i]=fgetc(fp);
	}
	fclose(fp);
	for(i=0;i<20;i++)
	{
		b[i]=a[i];
		if(b[i]<=90&&b[i]>=65)
		{
			b[i]+=32;
		}
		else if(b[i]<=122&&b[i]>=97)
		{
			b[i]-=32;
		}
	}
	fp=fopen("file.txt","a+");
	fputs(b,fp);
	rewind(fp);
	fgets(c,41,fp);
	printf("%s\n",c);
	fclose(fp);
	return 0;
}

3、文件的建立和读写基本操作

【问题描述】

编写一个程序,要求如下:

(1)从键盘上输入20个字符。

(2)将这20个字符存储到文件file1.txt中。

(3)将文件file1.txt中最后10个字符读取出来,并显示在屏幕上。


【输入形式】

输入20个字符


【输出形式】

将文件中的后10个字符输出


【样例输入】

abcdefghjijk123456zy


【样例输出】

jk123456zy

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>

int main()
{
	int i;
    char a[21],b[11];
    fgets(a,21,stdin);
    FILE *fp= fopen("file1.txt", "w");
    fputs(a,fp);
    fclose(fp);
    fp = fopen("file1.txt", "r");
    fseek(fp, -10, SEEK_END);
    fread(b, 1, 10, fp);
    fclose(fp);
    for (i = 0; i < 10; i++) 
	{
        printf("%c", b[i]);
    }
    printf("\n");
    return 0;
}

标签:fp,10,20,文件,实验,输入,txt,个字符
From: https://blog.csdn.net/2303_82182099/article/details/144116687

相关文章

  • leetcode1109. 航班预订统计
    1109.航班预订统计这道题使用暴力解法,如果数据比较多,first和second跨度比较大时会超时。比如下面这个暴力解:classSolution{public:vector<int>corpFlightBookings(vector<vector<int>>&bookings,intn){vector<int>res(n,0);intsize=boo......
  • 《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手检测实验
    第四十章YOLO2人手检测实验1)实验平台:正点原子DNK210开发板2)章节摘自【正点原子】DNK210使用指南-CanMV版V1.03)购买链接:https://detail.tmall.com/item.htm?&id=7828013987504)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.html5)正......
  • 20222417 2024-2025-1 《网络与系统攻防技术》实验五实验报告
    1.实验内容1.1本周内容总结Metasploit是一个功能强大的渗透测试框架,广泛应用于漏洞利用、攻击模拟和安全评估。Metasploit包含六大模块,包括辅助模块(Aux)、攻击模块(Exploit)、后渗透攻击模块(Post)、攻击载荷模块(Payload)、空指令模块(Nops)和编码器模块(Encoders)。这些模块使得Metasplo......
  • 【Java 操作共享文件夹,SmbFile类让你轻松实现!】
    在Java中,通过使用SmbFile类可以方便地操作共享文件夹。SmbFile是JCIFS(JavaCIFSClientLibrary)库的一部分,用于访问基于SMB/CIFS协议的共享文件和打印机。以下是如何使用SmbFile类来操作共享文件夹的详细步骤和代码示例:1.添加JCIFS依赖首先,你需要在你的项目中添加JCI......
  • 如何在WPF中打印PDF文件
    最近遇到有客户需要打印PDF的需求,这里分享一下两种解决方案: 1、使用"谓词(verb)"当用户右键单击Shell对象(如文件)时,Shell会显示(上下文)菜单的快捷方式。此菜单包含一个命令列表,用户可以选择这些命令对项执行各种操作。这些命令也称为快捷菜单项或谓词。可以自定义快捷......
  • 2024年图纸防泄密指南|设计图纸防泄密该怎么做?教你10个方法杜绝泄密
    “千里之堤,溃于蚁穴”,这句古语深刻揭示了细节对于整体安全的重要性。在当今时代,设计图纸作为企业核心资产的组成部分,其保密工作同样需要我们从细节入手,筑牢安全防线。本文将介绍10个有效的防泄密方法,共同构建一道坚不可摧的图纸安全屏障。1.加密图纸文件加密是保护图纸最......
  • YASKAWA安川机器人DX100轴控制基板维修解析知识
    ASKAWA安川机器人DX100轴控制基板的维修是一项复杂而精细的工作,要求具备丰富的知识和实践经验。通过与子锐机器人维修联系,希望能企业提供一些有益的参考和帮助,在面对轴板故障时能够迅速准确地找到问题所在并妥善处理。一、YASKAWA安川机器人维修步骤与方法1、故障诊断:通过YASKA......
  • 鲲鹏ARM64环境、银河麒麟KylinOSV10 下源码移植安装MariaDB 10.5.19参考
    1硬件鲲鹏920处理器2操作系统银河麒麟V10SP33配置编译环境3.1配置代理3.1.1打开/etc/profile文件vim/etc/profile3.1.2在/etc/profile文件中增加以下内容(根据实际情况填写)。exporthttp_proxy="http://用户名:密码@代理IP:代理端口"exporthttps_proxy=......
  • [题解]CF1063B Labyrinth
    CF1063BLabyrinth~Codeforces数据范围较小,考虑使用搜索。由于向左向右的步数限制过大,我们只能用\(x,y\)进行记忆化,否则空间和时间都过不去。既然状态只有\(x,y\),我们就要让最优情况最先被遍历到,所以考虑BFS。我们考虑,对于\((x,y)\)状态来说,什么样的情况是最优的?显然,对于......
  • 20222305 2024-2025-1 《网络与系统攻防技术》实验五实验报告
    网络攻防实验报告姓名:田青学号:20222305实验日期:2024/11/29—2024/12/05实验名称:信息搜集技术实践指导教师:王志强1.学习内容1.信息搜集:通过各种方式获取目标主机或网络的信息,属于攻击前的准备阶段。2.收集技术网络踩点:是指攻击者通过对目标组织或个人进行有计划、有步......