IO进程作业1

创建一个usr.txt,其中第一行存储账户名,第二行存储密码。要求:

1. 从终端获取一个用户名和密码
2. 判断与文件中存储的账户名,密码是否一致
3. 如果账户名不一致,则输出用户不存在
4. 如果密码不一致,则输出密码错误
5. 如果均一致,则输出登录成功

#include <stdio.h>


int main(int argc, const char *argv[])
{
	char arr[20] = {0};
	char brr[20] = {0};
	printf("请输入用户名:");
	gets(arr);
	printf("请输入密码:");
	gets(brr);
	FILE *p = fopen("user.txt","r");
	if(NULL==p)
	{
		perror("fopen");
		return -1;
	}
	
	int flag = 0;
	int c = 0;
	for(int i=0;(c = fgetc(p))!='\n';i++)
	{
		if(c == arr[i])
		{
			flag = 1;
		}
		else
		{
			printf("用户不存在\n");
			flag = 0;
			return 0;
		}
	}

	int flag1 = 0;
	int d = 0;
	for(int j=0;(d = fgetc(p))!='\n';j++)
	{
		if(d == brr[j])
		{
			flag1 = 1;
		}
		else
		{
			printf("密码错误\n");
			flag1 = 0;
			break;
		}
	}
	if(flag==1 && flag1==1)
	{
		printf("登录成功\n");
	}

	return 0;
}

通过fgetc fputc实现将一个文件的内容复制到另外一个文件中。例如:

将1.txt的内容复制到2.txt中。提示:读取一次,输出一次

#include <stdio.h>


int main(int argc, const char *argv[])
{
	FILE *p = fopen("1.txt","r");
	if(NULL==p)
	{
		perror("fopen");
		return -1;
	}

	FILE *q = fopen("2._txt","w");
	if(NULL == q)
	{
		perror("fopen");
		return -1;
	}
	
	char c = 0;
	while(1)
	{
		c = fgetc(p);
		if(EOF == c)
		{
			break;
		}
		fputc(c,q);
	}
	return 0;
}

### 回答1: 进程调度和作业调度是操作系统中两个重要的调度概念。 进程调度是指操作系统在多个进程运行时,根据一定的策略和算法,决定哪个进程可以获得CPU时间片,从而实现进程之间的切换和调度。进程调度的目的是提高系统的资源利用率和响应速度,以及保证进程的公平性和优先级。 作业调度是指操作系统在多个作业提交时,根据一定的算法和策略,决定作业的执行顺序和分配资源,以满足多个作业之间的资源共享和冲突解决。作业调度的目的是提高系统的吞吐量和效率,以及减少用户的等待时间和响应时间。 总的来说,进程调度是针对已经在系统中运行的多个进程进行调度,而作业调度是针对尚未进入系统的多个作业进行调度,两者的目的和实现方法都有所不同。 ### 回答2: 进程调度和作业调度都是操作系统中重要的调度机制,它们在管理和分配系统资源方面具有不同的职责和目标。 进程调度是操作系统根据进程的优先级和调度算法,决定将CPU分配给哪个进程执行的过程。进程调度的目标是提高系统的吞吐量、响应时间和公平性。它决定了进程的执行顺序,保证了资源的合理分配。进程调度算法有多种,如先来先服务(FCFS)、最短作业优先(SJF)、最高响应比优先(HRRN)等,根据不同的应用场景选择合适的算法。 作业调度是在多道程序系统中,根据作业的优先级和资源需求,调度作业的执行顺序。作业调度的目标是提高系统的吞吐量、资源利用率和作业的响应时间。它主要负责作业的分派和切换,在计算机系统中,一个作业可以由多个进程组成。作业调度算法有多种,如先来先服务(FCFS)、最短作业优先(SJF)、最高响应比优先(HRRN)等,与进程调度算法有些相似。 进程调度和作业调度的区别在于调度的单位不同。进程调度是调度进程,决定哪个进程优先获得CPU资源。而作业调度是调度作业,决定作业的执行顺序。进程调度可以看作是作业调度的一部分,两者紧密相关。 总结起来,进程调度和作业调度在操作系统中都起着重要的作用,它们通过不同的调度算法,来提高系统的吞吐量、响应时间和资源利用率。 ### 回答3: 进程调度和作业调度是操作系统中的两个重要概念,负责对进程作业进行调度和管理。 首先,进程调度是指在操作系统中,根据一定的算法和策略,选择合适的进程分配处理机的过程。其目标是提高系统的吞吐率、响应时间和公平性。进程调度主要关注的是当前系统中处于就绪状态的进程,其作用是根据进程的优先级、处理机利用率、IO操作等因素,决定将处理机分配给哪个进程执行。进程调度算法有多种,如先来先服务(FCFS)、最短作业优先(SJF)、优先级调度、轮转法等。 而作业调度是指操作系统中负责管理和调度作业的过程。作业是一组相互关联的进程的集合,它们通常是用户提交给系统执行的任务。作业调度的目标是保证不同作业的公平性和优先级,并提高系统的效率和资源利用率。作业调度主要关注的是作业队列中等待执行的作业,其作用是根据作业的类型、优先级、资源需求等因素,决定将处理机分配给哪个作业执行。作业调度算法有多种,如先来先服务(FCFS)、短作业优先(SJN)、优先级调度等。 总结来说,进程调度和作业调度在调度的对象和范围上存在差异。进程调度主要关注的是当前就绪状态的进程,而作业调度主要关注的是作业队列中等待执行的作业。此外,进程调度和作业调度使用的调度算法也略有差异,但目标都是提高系统的效率和公平性,合理利用系统资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值