`
dewei
  • 浏览: 164681 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

C/C++ 文件读写操作

 
阅读更多

 

标准C++ 读写文件内容:

//标准C++ 读文件内容  ( 仿PHP ) 2012-8-12 by Dewei
//用法:string s = file_get_contents("C:\\LICENSE.txt"); 
string file_get_contents(const string &filename)  
{  
	string contents = "";
	fstream in;
	in.open(filename.c_str(), fstream::in|fstream::binary|fstream::ate);
	if (in.good()) {  
		fstream::pos_type end_pos = in.tellg();
		long num_size = end_pos; 
		++num_size;
		in.seekg (0, fstream::beg);  
		char *buffer = new char[num_size];
		memset(buffer, 0, num_size);
		in.read(buffer, end_pos);  
		in.close();  
		contents = buffer;
		if (buffer != NULL)
			delete[] buffer;
	}
	return contents;  
}  

//标准C++ 写入文件内容 ( 仿PHP )  2012-8-12 by Dewei
//用法:file_put_contents("C:\\LICENSE.txt", "写入内容");
bool file_put_contents(const string &filename, const string contents)
{
	fstream out;
	out.open(filename.c_str(), fstream::out|fstream::binary);
	if (out.good()) {
		out.write(contents.c_str(), contents.length());
		out.close();
	}
	return true;
}

 

 

C 语言实现 读写文件内容:

 

//C 语言实现 读取文件内容 ( 仿PHP ) 2012-6-25 by Dewei
//用法:string s = file_get_contents("C:\\LICENSE.txt");
string file_get_contents(const string &filename)  
{  
	string contents;  
	FILE *fp;  
	fp = fopen(filename.c_str() , "rb");  
	if (fp == NULL) {  
		return "";  
	}  
	fseek(fp, 0, SEEK_END);  

	int file_size = ftell(fp);  

	char *tmp;  
	fseek(fp, 0, SEEK_SET);  
	tmp =  (char *)malloc(file_size+1);  
	memset(tmp, 0, file_size+1);  
	fread(tmp, sizeof(char), file_size, fp);  
	if (ferror(fp)) {  
		/* now, it is an error on fp */   
	}  
	fclose(fp);  
	contents = tmp;  
	free(tmp);  
	return contents;  
}  

//C 语言实现 写入文件内容 ( 仿PHP ) 2012-6-25 by Dewei
//用法:file_put_contents("C:\\LICENSE.txt", "写入内容");
bool file_put_contents(const string &filename, const string contents)
{
	FILE *fp;
	fp = fopen(filename.c_str() , "wb");
	if (fp == NULL) {
		return false;
	}
	fwrite(contents.c_str(), contents.length(), 1, fp);
	fclose(fp);
	return true;
}
分享到:
评论

相关推荐

    C++Builder C/C++ 文件读写操作总结.doc

    在C++Builder中,对C和C++语言进行文件读写操作是一个常见的任务。本篇文章将对C++Builder中涉及的文件操作进行总结,包括基于C的文件操作、基于C++的文件操作、基于WinAPI的文件操作、基于BCB库的文件操作以及特殊...

    C/C++文件的读写

    // 提供文件读写接口 void readFile() {/*...*/}; void writeFile() {/*...*/}; }; // 初始化静态成员 FileSingleton* FileSingleton::instance = nullptr; ``` 在这个例子中,`getInstance()`方法是获取单例的...

    C/C++/VC++文件操作

    3. **文件读写常见问题**: - 文本模式与二进制模式的区别:在文本模式下,像换行符`\n`会被转换为平台特定的换行符(如Windows的`\r\n`),而在二进制模式下则不会发生转换。 - 当以文本模式写入包含换行符的数据...

    C/C++读写文件操作

    以上就是C/C++进行文件读写操作的基本介绍,包括如何打开和关闭文件、设置读写模式、读取和写入数据,以及错误处理。理解并掌握这些基本概念和操作,对于编写任何涉及文件交互的C/C++程序都至关重要。

    C/C++文件操作手册

    ### C/C++文件操作手册知识点总结 #### 一、基于C的文件操作 在C语言中,文件操作主要分为两大类:**流式文件操作**和**I/O文件操作**。 ##### 流式文件操作 流式文件操作是C语言中最常见的文件处理方式之一,它...

    C/C++ 读写INI配置文件源代码

    标题提到的"C/C++ 读写INI配置文件源代码"就是一个实现这一功能的源码库,它允许开发者在C或C++项目中轻松地读取和写入INI文件。 INI文件的结构通常由节(Section)、键(Key)和值(Value)组成,如: ```ini ...

    标准C/C++读写配置文件类,读写ini文件,加入工程就可以用

    标题提到的“标准C/C++读写配置文件类”是指一个专门用于处理INI文件的C++类,它使得开发者能够方便地读取和写入配置文件。这类库通常会封装文件操作的复杂性,提供简洁的API供程序员调用。描述中提到的“非常完美的...

    C++文件读写操作

    C++文件读写操作 C++语言中文件读写操作是非常重要的一部分,了解文件读写操作的各种方法和函数的使用非常关键。本文将详细介绍C++和C语言中关于文件读写操作的使用方法。 流式文件操作 在ANSI C中,对文件的操作...

    C/C++关于文件的操作

    在C/C++编程中,文件操作是至关重要的一个部分,它允许程序员将数据持久化存储到磁盘上,或者从磁盘中读取数据。文件操作主要包括打开、关闭、读取、写入、追加等操作。下面我们将详细讨论这些知识点。 1. **文件...

    C/C++文件操作资料

    本资料包“C/C++文件操作资料”显然是针对想要深入理解和掌握这些语言中文件操作技巧的开发者设计的。 文件操作主要包括打开、关闭、读取、写入、追加、定位和错误处理等操作。以下是对这些核心概念的详细说明: 1...

    C C++ C++ Builder的各种文件读写操作总结

    C++ 文件读写操作总结 C++ 中的文件读写操作是编程过程中常用的操作之一,C++ Builder 提供了多种方法对文件进行操作。在本节中,我们将对 C++ 中的文件读写操作进行总结。 基于 C 的文件操作 在 ANSI C 中,对...

    CSDN上C/C++文件操作集锦

    CSDN上的"C/C++文件操作集锦"提供了一份综合性的资源,包含三份高质量的学习材料:《C++文件操作.pdf》、《C文件操作函数.docx》和《C语言文件操作.ppt》。这些资料深入浅出地介绍了如何在C和C++中进行文件的读写、...

    c/c++文件操作,包括MFC的文件操作

    通过以上详细的介绍,我们可以看到C/C++中文件操作的各种方式,从标准C语言到C++流式操作,再到Win32 API以及MFC框架下的文件操作,每种方法都有其适用场景和特点。开发者可以根据实际需求选择最合适的方法来进行...

    c/c++ windows ble 蓝牙操作

    c/c++ windows 通过winrt操作ble 蓝牙 #include #include #include <winrt/Windows.Foundation.h> #include <winrt/Windows.Foundation.Collections.h> #include <winrt/Windows.Devices.Bluetooth.h> #include ...

    精通Matlab与C/C++混合程序设计(第三版) 配套光盘

    通过这个API,开发者可以在C/C++程序中执行Matlab脚本、调用函数、读写Matlab变量等。 2. **MEX文件**:MEX(MATLAB eXecutable)文件是Matlab与C/C++代码的桥梁。它们是编译后的C/C++代码,可以直接在Matlab环境中...

    C/C++实现FAT文件系统的读写

    本篇文章将深入探讨如何在C/C++语言环境中,不依赖Windows API来实现对FAT文件系统的读写操作。 首先,理解FAT文件系统的核心组成部分至关重要。这包括主引导记录(MBR)、扇区、簇、FAT表、根目录以及数据区域。...

    如何读写Excel文件.rar_VC excel_Vc_vc; c/c++; excel读写

    首先,要实现C/C++对Excel文件的读写,通常有以下几种方法: 1. **Microsoft Office Interop**:这是微软提供的官方API,允许C/C++代码直接调用Excel的COM接口。这种方法简单直观,但需要安装完整的Office环境,且...

Global site tag (gtag.js) - Google Analytics