C++ 文件和流 技术教程文章

C++ 读取INI文件【图】

Windows操作系统专门为此提供了6个API函数来对配置设置文件进行读、写:GetPrivateProfileInt() 从私有初始化文件获取整型数值GetPrivateProfileString() 从私有初始化文件获取字符串型值GetProfileInt 从win.ini 获取整数值GetProfileString 从win.ini 获取字符串值WritePrivateProfileString 写字符串到私有初始化文件WriteProfileString 写字符串到win.ini我们可以把视图类的:OnInitialUpdate() 函数作为程序启动时读取配置文件...

[C/C++标准库]_[初级]_[构造文件路径(stringByAppendingPathComponent)]

场景:1. 很多情况下需要通过文件夹和文件名拼接文件路径字符串,每次都需要判断是否需要添加路径分隔符seperator很麻烦,所以可以写一个通用函数.2. 大多数情况下都是windows使用wstring,mac使用string,所以用模版实现最通用.函数:template<class T> T AppendPathComponent(const T& source,const T& component) {int length = source.length();int last = (length)?(length-1):0;if(source[last] == 0x5C || source[last] == 0x2...

C++中的头文件和源文件

一、C++编译模式 通常,在一个C++程序中,只包含两类文件——cpp文件和h文件。cpp文件被称作C++源文件,里面放的都是C++的源代码;h文件则被称作C++头文件,里面放的也是C++的源代码。 C+ +语言支持“分别编译”(separate compilation)。也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的.cpp文件里。 cpp文件里的东西都是相对独立的,在编译(compile)时不需要与其他文件互通,只需...

C++文件读写总结【代码】

在C++中如何实现文件的读写? 作者: infobillows 发表日期: 2007-04-03 21:33 点击数: 465一、ASCII 输出 为了使用下面的方法, 你必须包含头文件<fstream.h>(译者注:在标准C++中,已经使用<fstream>取代< fstream.h>,所有的C++标准头文件都是无后缀的。)。这是 <iostream.h>的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上, <iostream.h> 已经被<fstream.h>包含了, 所以你不必包含所有这两个文件, 如果你想显式包含他们,...

C++中类的前置声明和包含头文件的区别【图】

一、类嵌套的疑问C++头文件重复包含实在是一个令人头痛的问题,假设我们有两个类A和B,分别定义在各自的头文件A.h和B.h中,但是在A中要用到B,B中也要用到A,但是这样的写法当然是错误的: class B;class A{ public: B b;};class B{ public: A a;};因为在A对象中要开辟一块属于B的空间,而B中又有A的空间,是一个逻辑错误,无法实现的,在这里我们只需要把其中的一个A类中的B类型成员改成指针形式就可以...

C++服务器下载文件的两种方式【代码】

#include <afxinet.h>#include "wininet.h"#pragma comment( lib, "wininet.lib" )string remoteIP = "http://www.test.com:8001";string testIP = getDomain("IP");string testPort = getDomain("PORT");if (testIP != "NULL" && testPort != "NULL"){remoteIP = "http://" + testIP + ":"+ testPort;}logs.addLog("当前IP", remoteIP);string finalURL = remoteIP + "/autoupdater.xml";Divice_info dinfo;finalURL += "?bit=";f...

c++移动文件夹【代码】

bool Files::MoveSampleFolder(string src_path,string dst_path) {int index = src_path.find_last_of("\\");string tem_path = src_path.substr(index);dst_path = dst_path + tem_path;rename(src_path.c_str(),dst_path.c_str());returntrue;}src_path 待移动文件夹dst_path存放路径Files是自己定义的一个类,可无视原文:http://www.cnblogs.com/Daringoo/p/4496599.html

C/C++-----------http协议发送字段,文件,单个和多张图片【代码】

关于c/c++ 网络编程,无论在linux还是windows,要说到自由性,和安全性,socket无疑是比较好的!对于socket,因为它的传输协议只有两种tcp和udp,属于网络层,这里我们不去重点讨论。   关于应用层协议http,如何用C/C++的socket来实现数据传输和下载呢? 1. http是超文本协议,用在html文件中,那么对于html是如何传输数据呢?     通过post或者get传输表单数据,当然http还有其他的方式head,put ,delete,option,trace等...

c++读取txt文件数据【代码】【图】

#include <iostream> #include <string> #include <fstream> usingnamespace std;constint Money = 10000; struct Patrons {string name;double money; };int main() {    ifstream inFile;inFile.open("demo6_9.txt");if(!inFile.is_open()){cout<<"could not open the file \"demo6_9\"\n";cout<<"program terminating!\n";exit(EXIT_FAILURE);}int num;inFile>>num;cout<<"the number of Patrons is :"<<num<<"."<<endl;in...

C++生成二级制文件过程(预处理->编译->链接 )

转载请注明出处Windows下C++编程,通过VC生成工程,编写C++源文件,点运行,代码没问题直接出结果。VC什么都帮我们搞了,不了解其中过程也完全没问题。转到linux下写c++,总觉得有点虚,毕竟很多时候需要自己去构建。网上找了一些相关的文章,大多讲得高深,弄懂其过程后来写一篇不高深但易懂的,方便回忆。有不准确的地方欢迎指正。 C++包括源文件(.cpp)和头文件(.h),头文件包含变量的声明和类定义,源文件包含变量的定义。当然你...

C++头文件【图】

C++中的头文件和源文件详解一、C++编译模式通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C++的源代码。C+ +语言支持“分别编译”(separate compilation)。也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的.cpp文件里。.cpp文件里的东西都是相对独立的,在编 译(compile)时不需要与其他文件互...

C++ 扫描文件夹下所有文件【代码】

void GetFilesFromDirectory(std::vector<std::string> &files, constchar *directoryPath) {struct _finddata_t fileinfo;long hFile = 0;char tmpPath[MAX_PATH] = { 0 };sprintf_s(tmpPath, "%s\\*", directoryPath);if ((hFile = _findfirst(tmpPath, &fileinfo)) == -1){ return; }do{ if ((fileinfo.attrib & _A_SUBDIR)){if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0){sprintf_s(tmpPath, "%...

C++ 读取文件夹下文件名【代码】

在C++ 中读取文件夹下的文件名,如果存在子文件夹,递归读取子文件下的文件名 1 #include <fstream>2 #include <iostream>3 #include <string>4 #include <sstream>5 #include <vector>6 #include <io.h>7 8usingnamespace std;9void getAllFiles(string path, vector<string>& files, string postfix) 10{ 11// file handle 12long hFile = 0; 13// file info. struct14struct _finddata_t fileinfo; 15string pathp; 16if ((hF...

C++——INI文件详解【代码】

原创声明:本文系博主原创文章,转载及引用请注明出处。 1. INI文件介绍INI是英文单词 INItialization 的缩写,常作为Windows系统下的配置文件。INI文件是文本文件,通常用于程序启动时初始化系统配置。 2. INI文件格式  1)节(section)    INI文件由若干节组成,一节是由当前节首至下一节首之间的内容,例如:[section1] sec1_key1=sec1_val1 sec1_key2=sec1_val2 ... [section2] sec2_key1=sec2_val1 sec2_key2=sec2_val2 ...

c++ 对文件操作【代码】

本文针对C++里的虚函数,虚继承表现和原理进行一些简单分析,有不对的地方请指出。下面都是以VC2008编译器对这两种机制内部实现为例。虚函数以下是百度百科对于虚函数的解释:定义:在某基类中声明为 virtual 并在一个或多个派生类中被重新定 义的成员函数[1]语法:virtual 函数返回类型 函数名(参数表) { 函数体 }用途:实现多态性,通过指向派生类的基类指针,访问派生类中同名覆盖成员函数函数声明和定义和普通的类成员函数一...

C/C++以及Linux文件操作备忘录【代码】

目录C文件操作C++文件操作Linux文件操作C文件操作#include<stdio.h> stdin, stdout, stderr文件开关/* ** r/rb 只读。不存在返回NULL ** w/wb 只写。不存在创建,已存在清空文件 ** a/ab 只写。不存在创建 ** r+/rb+ 读写兼备。不存在返回NULL,打开不会清空源文件 ** w+/wb+ 读写兼备。不存在创建,已存在清空文件 ** a+/ab+ 允许读取。不存在创建,只允许末尾追加。 */ FILE* fopen(char* fname, char* mode);int fclose(FILE* f...

C++(四十七) — 文件输入、输出流【代码】

1、文件输入、输出流  由于文件设备并不像显示器屏幕与键盘那样是标准默认设备,不能像cout那样预先定义的全局对象,所以我们必须自己定义一个该类的对象。ifstream类,它是从istream类派生的,用来支持从磁盘文件的输入。ofstream类,它是从ostream类派生的,用来支持向磁盘文件的输出。fstream类,它是从iostream类派生的,用来支持对磁盘文件的输入输出。文件原理 文件打开都有一个文件指针,该指针的初始位置由I/O方式指定...

C/C++文件操作【代码】

1 基于C的文件操作 在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作2一、流式文件操作3 41.fopen()5 FILE *fopen(constchar *filename,constchar *mode)6"r" 以只读方式打开文件 7"w" 以只写方式打开文件 8"a" 以追加方式打开文件 9"r+" 以读/写方式打开文件,如无文件出错 10"w+" 以读/写方式打开文件,如无文件生成新文件 11 12 一个文件可以以文本模式或二进制模式打开,这两种的区别是:在文本模...

【C++】随机重命名MP3文件【图】

新置MP3一件,居然没有随机播放的功能,坑啊!身为程序媛一枚,自己动手吧~获取当前路径:char buf[1000];GetCurrentDirectory(1000,buf); string cur_folder_file = string(buf)+"\\*.mp3";获取当前路径mp3文件列表:void getMp3Names(string filepath,vector<string> &names) {names.clear();WIN32_FIND_DATA f;HANDLE h = FindFirstFile(filepath.c_str() , &f);if(h != INVALID_HANDLE_VALUE){do{names.push_back(f.cFileName)...

error C1853: “Debug\BigBuffer.pch”预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)

<pre id="best-content-1299104064" mb-10"="" style="font-size: 14px; line-height: 28px; ">该错误是因为当项目中混合了 .cpp 和 .c 文件时,编译器会对它们采取不同的编译方式(主要是因为对函数声明的处理方式不同),因而不能共用一个预编译头文件。在 VC++ 中,默认的预编译头文件是针对 C++ 的 (stdafx.h 和 stdafx.cpp),当然也可以创建针对 C 的预编译头。方法:将少数的不同类文件设为不使用预编译头是比较平衡的做法,...