CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  新手乐园

文件的输入输出

楼主yuchen2006(雨晨)2006-03-08 10:41:23 在 C/C++ / 新手乐园 提问

//让用户输入文件名,写入消息,如果文件名存在,将信息添加到文件中,否则,创建一个文件,把信息添加上,怎么写??  
   
  理想写法:  
  #include<iostream.h>  
  #include<fstream.h>  
  void   main()  
  {  
        让用户输入文件名  
        判断此文件名是否存在  
        如果存在,提示用户输入信息,添加到文件中  
        如果不存在,新建一个文件,添加信息到文件中  
   
  }  
  如何判断文件是否存在??  
  这个程序因该怎么写?  
   
  请用文件的输入输出,打开模式,写此程序,谢谢! 问题点数:30、回复次数:6Top

1 楼51365133(渊海)回复于 2006-03-08 11:15:53 得分 5

#include   <stdio.h>  
  #include   <string.h>  
   
  int   main()  
  {  
  char   file[256]="";  
  char   data[256]="";  
   
  printf("请输入文件名:");  
          scanf("%s",file);  
   
  FILE   *pf=fopen(file,"a+");  
   
  printf("请输入信息:");  
  scanf("%s",data);  
   
  fwrite(data,strlen(data),1,pf);  
   
  fclose(pf);  
   
  return   0;  
  }  
  Top

2 楼51365133(渊海)回复于 2006-03-08 11:21:04 得分 3

#include   <stdio.h>  
  #include   <stdlib.h>  
  #include   <io.h>  
   
  int   f_exist(char   *fname);  
   
  int   main()  
  {  
  if(f_exist("a.txt"))  
  printf("存在");  
  system("pause");  
  return   0;  
  }  
   
  int   f_exist(char   *fname)  
  {  
  int   n=access(fname,0);  
  return   (n==0?1:0);  
  }  
  int   f_exist(char   *fname)   可以判断文件是否存在,但是你的题目没有必要判断,因为用A+就可以实现Top

3 楼yuchen2006(雨晨)回复于 2006-03-08 16:14:00 得分 0

谢谢,不过我想用c++来实现  
  下面的程序就差如何判断有没有此文件了,在c++中应该如何判断呢??  
  //让用户输入文件名,写入消息,如果文件名存在,将信息添加上  
   
  #include<iostream.h>  
  #include<fstream.h>  
  void   main()  
  {  
  char   a[100];  
                    char   wname[100];  
  char   shifou;  
  cout<<"请您输入文件名:";  
  cin>>wname;  
  cout<<"是否有此文件?";  
  cin>>shifou;  
  if(shifou=='y')//如果有这个文件,打开它,并写入信息  
  {  
  fstream   fout("i.txt",ios::app);  
  cout<<"请输入信息:";  
  cin>>a;  
  fout<<a;  
                  fout.close();  
  }  
  else//否则新建这个文件,写入信息  
  {  
  fstream   fout("i.txt",ios::out);  
  cout<<"请输入信息:";  
  cin>>a;  
  fout<<a;  
                  fout.close();  
  }  
  }Top

4 楼ugg(逸学堂(exuetang.net))回复于 2006-03-08 19:53:20 得分 8

http://www.exuetang.net/News/View.aspx?NewsID=20  
  使用API操作文件(夹)的类,希望对lz有帮助Top

5 楼jixingzhong(瞌睡虫·星辰)回复于 2006-03-08 20:06:50 得分 8

文件有一种打开方式,  
  自动判断文件是否存在,  
   
  如果存在,  
  则在文件末尾写,  
  如果不存在,  
  则新建一个文件   ...Top

6 楼chinese_watermelon(老冬瓜)回复于 2006-03-08 21:15:39 得分 6

#include   <iostream>  
  #include   <fstream>  
   
  using   namespace   std;  
  int   main()  
  {  
  string   file_name;  
  ofstream   out_stream;  
  ifstream   dectect_stream;//detect   file   stream  
   
  cout<<endl<<"Please   type   your   file   name:";  
  cin   >>   file_name;  
   
  dectect_stream.open(file_name.c_str());  
   
  if(dectect_stream.fail())  
  {out_stream.open(file_name.c_str());  
  out_stream   <<   "File   is   not   exist!   ";//input   your   information  
  out_stream.close();  
  }  
  else  
  {dectect_stream.close();  
  out_stream.open(file_name.c_str(),ios::app);  
  out_stream   <<   "File   has   exist!   ";//input   your   information  
  out_stream.close();  
  }  
   
  }  
  Top

相关问题

  • 文件输入输出的问题
  • 关于VC文件输入输出
  • 请教:数据文件的输入与输出?
  • 关于二进制文件的输入输出?
  • 文件的输入输出问题!很急a
  • 关于文件输入输出的简单问题
  • 有关文件输入输出的问题!
  • 关于文件输入输出的问题!
  • 用C语言如何实现文件的输入/输出
  • C++ Primer 的例子 有关文件输入输出的

关键词

  • c++
  • 文件名
  • 文件
  • 用户
  • 信息
  • dectect
  • shifou
  • 添加
  • 存在
  • 判断

得分解答快速导航

  • 帖主:yuchen2006
  • 51365133
  • 51365133
  • ugg
  • jixingzhong
  • chinese_watermelon

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo