一段简单的,你看看
txt文件和本程序cpp文件在同一目录下或者在系统指定路径下才能直接输入文件名,不然要指定文件搜索路径
/**********头文件************/
#include<stdio.h>
//fopen() perror() printf() sscanf() fclose()
#include<process.h>
//exit()
#include<string.h>
//memset()
/**********主函数************/
int main()
{
FILE *fp;//文件指针
size_t rp;//读指针
char str[100];//读取数据保存缓存块
char name[100];//文件名保存缓存块
int num_i;//整形数据
float num_f;//单精度浮点型数据
char num_c;//字符型数据
char num_s[100];//字符串数据
printf("请输入文件名:");
scanf("%s",name);//输入文件名
/*************打开文件***************/
fp=fopen(name,"r");//以只读方式打开本目录下文件
if(fp==NULL)//文件打开失败
{
perror("error open!");//将error open打印到标准错误输出中,后面紧接着是错误提示
exit(-1);//异常终止程序(-1表示异常,0表示正常)
}
memset(str,'\0',sizeof(str));//清空读取数据保存缓存块
memset(num_s,'\0',sizeof(num_s));//清空读取数据中字符串数据保存缓存块
/*************读取文件数据***********/
rp=fread(str,1,sizeof(str),fp);//读取文件中数据
if(rp==0)//数据读取失败
{
perror("error fread!");//将error fread打印到标准错误输出中,后面紧接着是错误提示
exit(-1);//异常终止程序(-1表示异常,0表示正常)
}
/*************关闭文件***************/
fclose(fp);//关闭文件
/*************打印数据***************/
printf("shu.txt中的内容为%s\n",str);
sscanf(str,"%d %f %c %6s ",&num_i,&num_f,&num_c,num_s);//文件中的内容
printf("读取后:\n");
printf("int=%d\n",num_i);//整型
printf("float=%.2f\n",num_f);//单精度浮点型
printf("char=%c\n",num_c);//字符型
printf("str=%s\n",num_s);//字符串
return 0;
}
图片附件: 游客没有浏览图片的权限,请
登录 或
注册
[
本帖最后由 小小战士 于 2013-12-8 15:56 编辑 ]