当前位置:  编程技术>c/c++/嵌入式

深入C语言把文件读入字符串以及将字符串写入文件的解决方法

    来源: 互联网  发布时间:2014-10-13

    本文导语:  1.纯C实现 代码如下: FILE *fp; if ((fp = fopen("example.txt", "rb")) == NULL) {  exit(0); } fseek(fp, 0, SEEK_END); int fileLen = ftell(fp); char *tmp = (char *) malloc(sizeof(char) * fileLen); fseek(fp, 0, SEEK_SET); fread(tmp, fileLen, sizeof(char), fp); fclose(fp); for(int i ...

1.纯C实现

代码如下:

 FILE *fp;
 if ((fp = fopen("example.txt", "rb")) == NULL)
 {
  exit(0);
 }
 fseek(fp, 0, SEEK_END);
 int fileLen = ftell(fp);
 char *tmp = (char *) malloc(sizeof(char) * fileLen);
 fseek(fp, 0, SEEK_SET);
 fread(tmp, fileLen, sizeof(char), fp);
 fclose(fp);
 for(int i = 0; i < fileLen; ++i)
 {
  printf("%d  ", tmp[i]);
 }
 printf("n");

 if ((fp = fopen("example.txt", "wb")) == NULL)
 {
  exit(0);
 }
 rewind(fp);
 fwrite(tmp, fileLen, sizeof(char), fp);
 fclose(fp);
 free(tmp);


2.利用CFile(MFC基类)

CFile需要包含的头文件为Afx.h

打开文件的函数原型如下

if(!(fp.Open((LPCTSTR)m_strsendFilePathName,CFile::modeRead)))

有多种模式,常用的有如下:

modeRead

modeWrite

modeReadWrite

modeCreate

文件类型有两种:

typeBinary

typeText

读写非文本文件一定要用typeBinary

读取数据的函数原型:

virtual UINTRead(void*lpbuf, UINT nCount);


将文件读出:

代码如下:

CFile fp;
if(!(fp.Open((LPCTSTR)m_strsendFilePathName,CFile::modeRead)))
{
    return;
}
fp.SeekToEnd();
unsignedint fpLength = fp.GetLength();
char *tmp= new char[fpLength];
fp.SeekToBegin();    //这一句必不可少
if(fp.Read(tmp,fpLength) < 1)
{
    fp.Close();
    return;
}

// 新建文件并写入
代码如下:

if(!(fp.Open((LPCTSTR)m_strsendFilePathName,
        CFile::modeCreate | CFile::modeWrite |CFile::typeBinary)))
{
    return;
}
fp.SeekToBegin();
fp.write(tmp,fpLength);
fp.close;

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Android中asset文件夹与raw文件夹的区别深入解析
  • CS:APP深入理解计算机系统练习题-【ELF文件的符号表相关】
  • 深入分析NTFS中文件被锁定导致Process.Start失败的详解
  • Android开发之文件操作模式深入理解
  • 深入解析Oracle参数及参数文件
  • 基于android中读取assets目录下a.txt文件并进行解析的深入分析
  • 深入分析C++中执行多个exe文件方法的批处理代码介绍
  • Android中使用PULL方式解析XML文件深入介绍
  • 深入分析java文件路径的详解
  • 解析VC中预编译头文件的深入分析
  • 函数中使用require_once问题深入探讨 优雅的配置文件定义方法推荐
  • 遍历文件系统目录树的深入理解
  • 基于JavaCore文件的深入分析
  • 深入探讨:linux中遍历文件夹下的所有文件
  • 深入AndroidManifest.xml文件解析详解
  • Docker支持更深入的容器日志分析
  • 关于《深入浅出MFC》
  • Linux有没有什么好的高级的书,我要深入,
  • 深入理解linux内核
  • [100分]有没有关于binutils的深入的资料?或者深入底层的资料?
  • 深入理解PHP内核 TIPI
  • 想深入学习Java应该学习哪些东西
  • 哪位有《JSP深入编程》电子版?
  • 想要深入学习LINUX该学什么?
  • 100分求:哪儿有《深入理解linux内核》可供下哉!
  • 如何深入Linux的内核学习?
  • U-BOOT得掌握到什么程序,用不用深入去学
  • 想深入了解操作系统该怎么做
  • 前一阵子学习了shell脚本,如果想深入点了解linux可以看什么书呢
  • 问一个《深入理解计算机系统》中的问题
  • 深入多线程之:深入分析Interlocked


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3