【IO】使用文件IO完成,将源文件中的所有内容进行加密(大写转小写、小写转大写)后写入目标文件中,源文件内容不变
创始人
2024-09-25 10:24:03
0

目录

1> 使用文件IO完成,将源文件中的所有内容进行加密(大写转小写、小写转大写)后写入目标文件中,源文件内容不变

2、并发和并行的区别

3、什么是进程

4、进程和程序的区别

5、进程的状态有哪些

6、系统中的多个进程的调度机制都有哪些

7、思维导图


1> 使用文件IO完成,将源文件中的所有内容进行加密(大写转小写、小写转大写)后写入目标文件中,源文件内容不变

遇到问题:
在把转变好的内容存入到目标文件中的时候,写成了如下代码:

write(destfd,buf,src);          //正确 write(destfd,buf,sizeof(buf))   //错误读取了内容,无论读取了多少个数据,write都会写入sizeof(buf)个大小的数据,造成错误。应该读取返回的src,这就是read读取到的数据数量
#include   int main(int argc, 	const char *argv[]) { 	//定义两个变量用于存储文件描述符 	int srcfd = -1,destfd = -1;  	//以只读的形式打开源文件 	if((srcfd = open("./src.txt",O_RDONLY)) == -1) 	{ 		perror("src open error"); 		return -1; 	}  	//以只写的形式打开目标文件 	if((destfd = open("./dest.txt",O_WRONLY|O_CREAT|O_TRUNC,0664)) == -1) 	{ 		perror("dest open error"); 		return -1; 	}  	//定义一个搬运工 	char buf[10] = "";  	//循环读取源文件内容写入到目标文件,并且判断大小写 	while(1) 	{ 		//判断是否读取到了内容,如果返回值为0,则说明已经读完 		int src = read(srcfd,buf,sizeof(buf)); 		if(src == 0) 		{ 			break; 		}  		//判断buf里面读取出来的是小写还是大写,进行ascii码的转换 		for(int i = 0;i < src;i++) 		{ 			if(buf[i] >= 'a' && buf[i] <= 'z') 			{ 				buf[i] -= 32; 			} 			else if(buf[i] >= 'A' && buf[i] <= 'Z') 			{ 				buf[i] += 32; 			} 		}	  		//把转变好的内容存入目标文件中 		write(destfd,buf,src); 	}  	//关闭文件 	close(srcfd); 	close(destfd); 	return 0; } 

输出结果如下:可以看出文件里面的大小写已经发生转变并且成功从源文件内写入到目标文件内


2、并发和并行的区别

1、并发:并发在一台处理器上“同时”处理多个任务。

2、并行:并行在多台处理器上同时处理多个任务。

3、什么是进程

        狭义定义:进程就是一段程序的执行过程。
        广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。

4、进程和程序的区别

        进程是程序的一次执行过程,是会动态的创建和消亡的;程序是代码的集合,可以长期保存

        一个进程可以执行一个或几个程序,一个程序也可以构成多个进程。进程可以创建进程,而程序不能形成新的程序

5、进程的状态有哪些

1)       运行状态:进程正在处理器上上运行。在单处理器环境下,每个时刻最多只有一个进程处于运行状态。

2)       就绪状态:进程已处于准备运行状态,即进程获得了除了处理器之外的一切所需资源,一旦得到处理器即可运行。

3)       阻塞状态:又称为等待状态,进程正在等待某一事件而暂停运行,如等待某资源为可用(不包括处理器)或等待输入/输出完成。即使处理器空闲,该进程也不能运行。

4)       创建状态:进程正在被创建,尚未到就绪状态。

5)       终止状态:进程正在从系统中消失。可能是进程正常结束或其他原因中断退出运行。

6、系统中的多个进程的调度机制都有哪些

  1. 排队器
    将所有就绪的进程按照一定的策略排成一个或多个队列,便于调出程序最快找到
  2. 分派器
    将调度选择的进程从就绪队列中取出,进行分派器到新进程的上下文切换并分配处理机。
  3. 上下文切换器
    切换分派器和当前程序的上下文。

7、思维导图

 

相关内容

热门资讯

第8分钟辅助(雀友会钻石辅助器... 第8分钟辅助(雀友会钻石辅助器潮汕麻将)竟然真的是有挂(详细辅助技巧教程)1、完成雀友会钻石辅助器潮...
第五分钟辅助(小程序微乐游戏辅... 第五分钟辅助(小程序微乐游戏辅助)一直有挂(详细辅助玩家教程)1、第五分钟辅助(小程序微乐游戏辅助)...
十分钟辅助(互游辅助)一直是有... 十分钟辅助(互游辅助)一直是有挂(详细辅助细节方法)该软件可以轻松地帮助玩家将互游辅助透视辅助提升到...
第十分钟辅助(新九哥脚本下载)... 第十分钟辅助(新九哥脚本下载)真是真的有挂(详细辅助靠谱教程)小薇(透视辅助)致您一封信;亲爱新九哥...
第3分钟辅助(约战丹东苹果辅助... 第3分钟辅助(约战丹东苹果辅助)好像存在有挂(详细辅助德州论坛);1、用户打开应用后不用登录就可以直...
9分钟辅助(江湖悠悠辅助脚本)... 9分钟辅助(江湖悠悠辅助脚本)真是存在有挂(详细辅助解说技巧);1、江湖悠悠辅助脚本透视辅助简单,江...
1分钟辅助(辅助软件购买平台)... 1分钟辅助(辅助软件购买平台)原来存在有挂(详细辅助技巧教程)1、全新机制【辅助软件购买平台软件透明...
十分钟辅助(天天开心王国辅助器... 十分钟辅助(天天开心王国辅助器)总是存在有挂(详细辅助玩家教你);1、在天天开心王国辅助器ai机器人...
七分钟辅助(开心泉州辅助器)其... 七分钟辅助(开心泉州辅助器)其实真的有挂(详细辅助2025教程)1、开心泉州辅助器机器人多个强度级别...
第五分钟辅助(多乐跑得快游戏辅... 第五分钟辅助(多乐跑得快游戏辅助脚本)真是是有挂(详细辅助教你教程)1、首先打开多乐跑得快游戏辅助脚...