c/c++
jeanphorn
这个作者很懒,什么都没留下…
展开
-
c 输出重定向
c语言将输出重定向到文件中代码: #include <stdio.h> int main() { if(freopen("/home/jean/桌面/test.txt","w",stdout) == NULL) fprintf(stderr,"redirect error!\n"); printf("Hello, I will output this in an原创 2015-03-25 17:29:55 · 661 阅读 · 0 评论 -
C++ std::tr1::function使用
1. 介绍 function 是一种通用、多态的函数封装。std::function 的实例可以对任何可以调用的 目标 进行存储、复制、和调用操作,这些目标包括函数、lambda 表达式、绑定表达式、以及其它函数对象等。(c++11起的版本可用) function(和bind一样)可以实现类似函数指针的功能,却比函数指针更加灵活(体现在占位符上面),尤其是在很多成员调用同一个函数(仅仅是参数原创 2015-08-06 19:53:10 · 6600 阅读 · 0 评论 -
C++ std::tr1::bind使用
1. 简述 同function函数类似,bind函数同样也可以实现类似于函数指针的功能,但却却比函数指针更加灵活,特别是函数指向类 的非静态成员函数时。std::tr1::function 可以对静态成员函数进行绑定,但如果要对非静态成员函数的绑定,需用到下机将要介绍的bind()模板函数。 bind的声明如下: template<class Fty, class T1, class原创 2015-08-10 16:38:28 · 5970 阅读 · 0 评论 -
求数组中重复次数最多的元素
1.问题描述 例如:数组a={2,3,1,5,5,5,5,7,8,1},元素2、3、7、8各出现1次,1出现两次,5出现4次,则重复次数最多的元素为5.2. 方法与思路2.1 以空间换时间,索引法 定义一个数组int cnt[MAX],将其元素全部初始化为0。然后遍历数组a,执行cnt[a[i]]++操作。最后在cnt数组中找最大的数,对应的数即为重复次数最多的数。 代码示例如下:原创 2015-06-08 21:32:05 · 16382 阅读 · 4 评论 -
c/c++ 中文字符串转Unicode和UTF8
1. 描述 在windows上做系统编程,少不了会遇到处理中文字符串的问题。而大多时候中文汉字都是以多字节编码的方式展现的。为了实现更好的兼容性或一些特殊的需求,(比如在网页上显示。)常需要将其转换成unicode或者utf8的格式。2. 代码示例2.1 中文字符串转Unicode/**********************************************************原创 2015-05-20 19:21:14 · 19744 阅读 · 2 评论 -
C/C++ 十六进制char*与Binary char*相互转换
1. 十六进制char* 转 Binary char*例如:“fedcba9876543210” 转换为:char bin[8] ={0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10}形式。 代码:/*两个字符转换成一个字符,长度为原来的1/2*/static void Hex2Char(char *szHex, unsigned char *rch){原创 2015-05-07 14:32:32 · 12383 阅读 · 0 评论 -
C++ 遍历目录所有文件并判断是否为目录
1. 思路 使用FindFirstFile、FindNextFile函数,来遍历目录。结果保存在WIN32_FIND_DATA结构体中。将查询结果的dwFileAttributes和FILE_ATTRIBUTE_DIRECTORY取与操作,判断是否为目录。2. 示例代码#include <iostream>#include <stdio.h>#include <windows.h>using原创 2015-05-06 10:51:49 · 3160 阅读 · 0 评论 -
c、c++ char*和wchar*互相转换
1. 问题描述 编写程序时通常会面对一些不同的编码格式,如Unicode和multibytes。在有关字符串的处理时尤其重要,系统编程时通常会遇到很多这样的问题,例如把wchar*的字符串转换为char*的字符串,有时还需要把char*类型的字符串转换为wchar*类型。下面提供几种解决方案。2. 解决方案2.1 wchar* 转到 char* 方法一,使用_bstr_t转换。 #incl原创 2015-05-15 15:48:53 · 55455 阅读 · 5 评论 -
Mac OS X 10.10 编译代码出错 fatal error: '__debug' file not found #include <__debug>
1. 错误描述 在mac系统升级到yosemite,或者Xcode版本升级后,在编译c++程序的时候无法通过,错误类型如下: 2. 解决方案 创建一个临时文件“__debug”,可以解决这个问题。在命令行中执行以下代码: $ echo '#define _LIBCPP_ASSERT(x, m) ((void)0)' | sudo tee -a /Library/Developer/Comm原创 2015-04-17 17:19:16 · 6902 阅读 · 0 评论 -
Linux下 C语言 Mysql操作和字符集设置
一、C语言 Mysql操作首先安转libmysql库。 # sudo apt-get install libmysql++-dev把MySQL的库拷贝到公共库中。 # sudo cp -ri /usr/lib/mysql/* /usr/lib/配置MySQL库。 # mysql_config --cflags --libs二、创建数据库和表启动终端,输入以下命令,进入mysql。原创 2015-04-16 08:49:49 · 1839 阅读 · 0 评论 -
C/C++ 解析文件路径 获取文件名和扩展名
1. _splitpath函数 在c或者c++编程中,常常会用到获取程序或文件的路径,比对路径做分解和合并处理,_splitpath和_makepath就可以完成这样的功能。 函数的声明 void _splitpath( const char *path, char *drive, char *dir, char *fname, char *ext ); 功能是分解路径,把你的完原创 2015-04-08 10:13:13 · 19145 阅读 · 3 评论 -
C/C++ 删除指定目录
1.介绍 用到shlwapi.h和tchar.h头文件。 shlwapi.h是shlwapi.dll头文件,shlwapi.dll(Microsoft Shell Light-weight Utility Library)中定义了路径相关的操作,也包括了部分文件操作函数。由于shlwapi.dll属于Microsoft Windows Shell,因此这些文件操作特点与通过Shell进行文件原创 2015-04-07 15:46:11 · 5145 阅读 · 0 评论 -
C/C++ 文件操作之CreateFile、ReadFile和WriteFile
1. CreateFile 这个函数的功能是创建或者打开一个文件或者I/O设备,通常使用的I/O形式有文件、文件流、目录、物理磁盘、卷、终端流等。如执行成功,则返回文件句柄。 INVALID_HANDLE_VALUE 表示出错,会设置 GetLastError 。 函数的声明定义: HANDLE WINAPI CreateFile( _In_ LPCTSTR lpFileNa原创 2015-04-10 17:20:21 · 71748 阅读 · 1 评论 -
C++使用CriticalSection实现线程同步
原文地址:http://www.jb51.net/article/56041.htm本实例讲述了C++使用CriticalSection实现线程同步的方法,使用了四个函数:EnterCriticalSection ::DeleteCriticalSection ::EnterCriticalSection ::LeaveCriticalSection。具体代码如下:转载 2015-04-03 16:40:25 · 913 阅读 · 0 评论 -
c/c++ CopyFile,GetFileAttributes复制文件和更改文件属性
通过使用GetFileAttributes 或者GetFileAttributes函数能够获得文件的属性,CreateFile和SetFileAttributes函数可以设置文件的属性。例子:#include #include #include #include void _tmain(int argc, TCHAR* argv[]){ WIN32_FIND_DA原创 2015-04-03 09:50:58 · 3399 阅读 · 0 评论 -
C语言 实现strstri不区分大小写查找字符串
strstri 字符串查找原创 2015-04-03 15:55:33 · 12863 阅读 · 1 评论 -
c语言 获取目录文件列表
#include #include char** GetFileList(const char *path, int *cnt){ HANDLE hRes; WIN32_FIND_DATA data; LPCSTR IpFileName; int count = 0; char tmpDir[MAX_PATH] = ""; char ** fileList; int i =原创 2015-03-20 16:35:56 · 3019 阅读 · 0 评论 -
C++ std::tr1::shared_ptr使用说明
1. 介绍 shared_ptr 是通过指针保持某个对象的共享拥有权的智能指针。若干个 shared_ptr 对象可以拥有同一个对象;最后一个指向该对象的 shared_ptr 被销毁或重置时,该对象被销毁。销毁该对象时使用的是 delete 表达式或者是在构造 shared_ptr 时传入的自定义删除器(deleter)。 特点: shared_ptr 也可以不拥有对象,称作空(e原创 2015-08-06 18:58:26 · 5548 阅读 · 0 评论