目录
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));
}
运行结果: