C语言程序设计经典例题100道(九)

目录

1、读取磁盘文件

 2、将数据写入磁盘文件

 3、将文件内容复制到另一文件

4、创建文件

5、创建临时文件

6、重命名文件

 7、删除文件

8、固定格式输出当前时间 

 9、当前时间转换

 10、获取当前日期与时间


1、读取磁盘文件

要求在程序执行前在任意路径下新建一个文本文档,文档内容为:“不登高山,不知天之高也;不临深谷,不知第之厚也。”编程实现从键盘中输入文件路径及名称,在屏幕上显示出该文件的内容。

#include<stdio.h>
main()
{
	FILE *fp;
	char ch,filename[50];
	printf("please input file's name;\n");
	gets(filename);
	fp=fopen(filename,"r");
	ch= fgetc(fp);
	while(ch!=EOF)
	{
		putchar(ch);
		ch=fgetc(fp);
	}
	fclose(fp);
	printf("\n");
 } 

运行结果

 2、将数据写入磁盘文件

本例将实现将数据写入磁盘文件,即在任意路径下新建一个文本文档,想该文档中写入:“好好学习,天天向上,充满信心,成功有望!”以“#”结束字符串的输入。

#include<stdio.h>
#include<stdlib.h>
main()
{
	FILE *fp;
	char ch,filename[50];
	printf("please input filename:\n");
	scanf("%s",filename);
	if((fp=fopen(filename,"w"))==NULL)
	{
		printf("cannot open file\n");
		exit(0);
	}
	
	ch= getchar();
	while(ch!='#')
	{
		fputc(ch,fp);
		ch=getchar();
	}
	fclose(fp);

 } 

运行结果

 

 3、将文件内容复制到另一文件

本实例实现将一个现有的文本文档的内容复制到新建的文本文档中。

#include <stdio.h>

int main(void)
{
 int ch;
 FILE *infp;
 FILE *outfp;
 char infilename[50];
 char outfilename[50];
 
 printf("要复制的原文件:");
 scanf("%s", infilename);
 
 printf("要粘贴的文件:");
 scanf("%s", outfilename);
 
 if((infp = fopen(infilename, "r")) == NULL)
 {
  printf("\a文件打开失败。\n");
 } 
 else
  {
  if ((outfp = fopen(outfilename, "w")) == NULL)
  {
   printf("\a文件打开失败。\n");
  }
  else
 {
   while ((ch = fgetc(infp)) != EOF)
   {
    fputc(ch, outfp);
   }
   fclose(outfp);
  }
  fclose(infp);
 }
 return 0;
}


运行结果

4、创建文件

本实例将实现文件的创建,具体要求如下:从键盘中输入要创建的文件所在的路径及名称,无论创建成功与否均输出提示信息。

#include<stdio.h>
#include<io.h>
int main()
{
	int h;
	char filename[20];
	LOOP:
		printf("please input filename:\n");
		scanf("%s",&filename);
		if(h=creat(filename,0)==-1)
		{
			printf("\n Error!Cannot vreat!\n");
			goto LOOP;
		}
		else
		{
			printf("\nthis file has created!\n");
			close(h);
		}
}

运行结果

5、创建临时文件

本例将实现临时文件的创建,并将“hello world hello C”输出到临时文件之后再读取临时文件上的内容并将其显示再屏幕上。 

#include<stdio.h>
main()
{
	FILE *temp;
	char c;
	if((temp=tmpfile())!=NULL)
		fputs("\nhello world\nhello C",temp);
	rewind(temp);
	while((c=fgetc(temp))!=EOF)
		printf("%c",c);
	fclose(temp);
}

运行结果

6、重命名文件

本例将实现重命名文件,具体要求如下:从键盘中输入要重命名的文件的路径和名称,文件打开成功后输入新的路径和名称。

#include<stdio.h>
#include<stdlib.h>
main()
{
	FILE *fp;
	char filename1[20],filename2[20];
	printf("please input the file name which do you want to change:\n");
	scanf("%s",filename1);
	printf("please input new name!\n");
	scanf("%s",filename2);
	if(rename(filename1,filename2)==0)
		printf("successfully!\n");
	else
	{
		printf("failed");
		exit(0);
	}
}

运行结果:

 7、删除文件

编程实现文件的删除,具体要求如下:从键盘中输入要删除的文件的路径及名称,无论删除是否成功都在屏幕中给出提示信息。

#include<stdio.h>
#include<stdlib.h>
main()
{
	FILE *fp;
	char filename[50];
	printf("please input the  name of the file which do you want to delete:\n");
	scanf("%s",filename);
	
	if((fp=fopen(filename,"r"))!=NULL)
	{
		printf("%s open successfully!",filename);
		fclose(fp);
	}
	
	else
	{
		printf("%s cannot open!",filename);
		exit(0);
	}
	remove(filename);
	if((fp=fopen(filename,"r"))==NULL)
		printf("\n%s has removed!",filename);
	else
	printf("error");
}


运行结果:

8、固定格式输出当前时间 

要求实现将当前时间用以下形式输出:星期 / 月 / 日 / 小时 / 分 / 秒 / 年。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
	time_t Time;
	struct tm *t;
	Time=time(NULL);
	t=localtime(&Time);
	printf("Local time is:%s",asctime(t));
	return 0;
}

运行结果:

 9、当前时间转换

要求实现将当前时间转换为格林尼治时间,同时将当前时间和格林尼治时间输出到屏幕上。

#include<stdio.h>
#include<dos.h>
#include<time.h>
main()
{
	time_t Time;
	struct tm *t,*gt;
	Time=time(NULL);
	t=localtime(&Time);
	printf("Local time is:%s",asctime(t));
	gt=gmtime(&Time);
	printf("Greenwich Time is:%s",asctime(gt));
	return 0;
}

运行结果:

 10、获取当前日期与时间

#include<stdio.h>
#include<time.h>
main()
{
	time_t now;
	time(&now);
	printf("\nNow is:%s",ctime(&now));
}

运行结果:

 

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值