IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言学习之 文件的输入输出.day1 -> 正文阅读

[C++知识库]C语言学习之 文件的输入输出.day1

怎样向文件写入和读写字符,字符串??

1.从键盘输入一些字符,并逐个把它们送到磁盘上去,直到用户输入一个“#”为止。

#include <stdio.h>
#include <stdlib.h>
int main()
{	FILE *fp;                     				//定义文件指针fp
	char ch,filename[10];
	printf("请输入所用的文件名: ");
	scanf("%s",filename);        			//输入文件名
	getchar();                  		 		//用来消化最后输入的回车符
	if((fp=fopen(filename,"w"))==NULL)	//打开输出文件并使fp指向此文件
	{	printf("cannot open file\n");  	//如果打开出错就输出“打不开”
		exit(0);                       			//终止程序
	}
	printf("请输入一个准备存储到磁盘的字符串(以#结束): ");
	ch=getchar();        					//接收从键盘输入的第一个字符
	while(ch!='#')        					//当输入′#′时结束循环
	{	fputc(ch,fp); 					//向磁盘文件输出一个字符
		putchar(ch);					//将输出的字符显示在屏幕上
		ch=getchar(); 					//再接收从键盘输入的一个字符
	}
	fclose(fp);						//关闭文件
	putchar(10); 						//向屏幕输出一个换行符
	return 0;
}

2.将一个磁盘文件中的信息复制到另一个磁盘文件中。

#include <stdio.h>
#include <stdlib.h>
int main()
{
   FILE *in,*out;//指向FILE类型文件的指针变量
   char ch,infile[10],outfile[10];
   printf("请输入文件的名字:\n");
   scanf("%s",infile);//输入一个输入文件的名字
   printf("输入输出文件的名字:\n");
   scanf("%s",outfile);//输入一个输出文件的名字

      if((in=fopen(infile,"r"))==NULL)//打开输入文件
      {
         printf("无法打开此文件\n");exit(0);
      }

      if((out=fopen(outfile,"w"))==NULL)//打开输出文件
      {
        printf("无法打开此文件\n");exit(0);
      }


      ch=fgetc(in);
      //输入文件读入一个字符,赋给变量ch
      while(!feof(in))//未遇到输入文件的结束符
      {
         fputc(ch,out);//将ch 写到输出文件
         putchar(ch);//将ch显示到屏幕上
         ch=fgetc(in);//再从输入文件读入一个字符
      }
      putchar(10);//ASCII码 10 代表换行
      //等价printf("\n");
      fclose(in);//关闭输入文件
      fclose(out);//关闭输出文件
	   return 0;
}

3.从键盘读入若干个字符串,对它们按字母大小的顺序排序,然后把排好序的字符串送到磁盘文件中保存。

#include<stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
   FILE*fp;
	char str[3][10],temp[10];
	//str是用来存放字符串的二维数组,temp是临时数组
	int i,j,n=3;
	printf("Enter strings:\n");	//提示输入字符串
	for(i=0;i<n;i++)
		gets(str[i]);			//输入字符串
	for(i=0;i<n-1;i++)			//用冒泡法对字符串排序
	{
		for(j=0;j<n-i-1;j++)
			if(strcmp(str[j],str[j+1])>0)
         {
         strcpy(temp,str[j]);
			strcpy(str[j],str[j+1]);
			strcpy(str[j+1],temp);
         }
	}
	if((fp=fopen("G:\\codeblocks\\hello world\\file1.dat","w"))==NULL)	//打开磁盘文件
	//′\′为转义字符的标志,因此在字符串中要表示′\′用′\\′
	{
		printf("can′t open file!\n");
		exit(0);
	}
	printf("\nThe new sequence:\n");

	for(i=0;i<n;i++)
	{	fputs(str[i],fp);      //向磁盘文件写一个字符串
	   fputs("\n",fp);      //输出一个换行符
		printf("%s\n",str[i]);		//在屏幕上显示
	}
	return 0;
}

4.从文件file1.dat中读回字符串,并在屏幕上显示。

//从文件中读回字符串,并在屏幕上显示。
#include <stdio.h>
#include <stdlib.h>
int main()
{	FILE*fp;
	char str[3][10];
	int i=0;
	if((fp=fopen("G:\\codeblocks\\hello world\\file1.dat","r"))==NULL)
         //注意文件路径必须与前相同
	{
		printf("can′t open file!\n");
		exit(0);
	}
	while(fgets(str[i],10,fp)!=NULL)
	{	printf("%s",str[i]);
		i++;
	}
	fclose(fp);
	return 0;
}

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-19 11:52:27  更:2021-08-19 11:54:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 4:54:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计