C语言
xyqzki
wahahahaahahahahah
展开
-
【转】关于C语言生成不重复的随机数
一说起随机函数,恐怕又有人说这是老生长谈了……一般很多人都形成了自己的固定格式,因为随机数用处比较大,用的时候比较多,拿过来就用了。但是新手不这么干,他们总是抱有疑惑,我就是一个新手,而且较菜……为了让跟我一样的菜鸟看明白,我会尽量的说得让高手们不屑一顾(:由于可能内容太多可能会转载 2011-07-25 19:23:54 · 31447 阅读 · 4 评论 -
VS2010每次编译都重新编译整个工程的解决方案
在使用VS2010编译C++程序的时候,每次修改工程中的某一个文件,点击“生成-仅用于项目-仅生成**”时,往往都是整个工程都需要重新编译一遍。由于这个工程代码量太大,每次编译完成都需要将近10分钟左右的时间编译。最烦人的时候是当编译完了出错,修改了错误再次编译,浪费很多时间。那么怎么配置VS2010像VC6.0那样默认的可以只编译修改后的文件呢?针对这个问题的解决办法网络上也有不少,在这转载 2013-10-23 16:27:08 · 8236 阅读 · 0 评论 -
#ifndef、(或者#ifndef)、#def、#endif 条件编译
#ifndef、(或者#ifndef)、#def、#endif等宏这几个宏是为了进行条件编译。一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。 条件编译命令最常见的形式为: #ifdef 标识符 程序段转载 2013-11-08 14:54:49 · 1414 阅读 · 0 评论 -
linux C 中 mkdir
I.Linux C 创建目录函数mkdir的mode设置问题 函数原型: #include int mkdir(const char *path, mode_t mode); 参数: path是目录名 mode是目录权限 返回值: 返回0 表示成功, 返回 -1表示错误,并且会设置errno值。 mode模式位: m转载 2013-11-08 16:22:18 · 59342 阅读 · 2 评论 -
makefile 的error looser throw specifier for ‘virtual ExceptionWithIflag::~ExceptionWithIflag
seis07:/projdata3/info_fil/yqxu/opinion_mining/code[88] > makeg++ -g -c main.cIn file included from main.c:12:LBFGSCPP.h:18: error: looser throw specifier for ‘virtual ExceptionWithIflag::~Excep原创 2013-11-08 16:47:12 · 6175 阅读 · 0 评论 -
error: ‘_swprintf’ was not declared in this scope 解决办法
port visual studio c++ to linux gcc version. make 之后 遇到LBFGSCPP.cpp: In member function ‘std::wstring ExceptionWithIflag::toString()’:LBFGSCPP.cpp:42: error: ‘_swprintf’ was not declared in th原创 2013-11-08 22:33:14 · 6299 阅读 · 0 评论 -
makefile 出现 undefined reference to ''
可能原因:1. link的时候 没有加lib 或者include ref:http://www.cnblogs.com/jasonliu/archive/2011/12/23/2299740.html2. 最后link的时候,g++命令一定要把所有的.o全部放到argument里,而不只是把被main.cpp include的o文件原创 2013-11-09 10:50:36 · 4734 阅读 · 0 评论 -
c语言一行写不下该怎么换行
c语言一行写不下该怎么换行 参考答案 用连接符 \ 比如 char a[]={A,B,A,B,A,B,A,B,A,B,A,B,A,B, \ C}转载 2013-11-12 15:42:48 · 54477 阅读 · 0 评论 -
C语言生成随机数
Note: rand()%10)/10.0 与 rand()%10)/10不一样!!后者为0http://www.cnblogs.com/stemon/p/3383438.html转载 2013-12-02 22:56:42 · 796 阅读 · 0 评论 -
#ifdef _DEBUG
1#ifdef _DEBUG virtual void AssertValid() const; //assert(断言)valid(有效的,正确的)virtual void Dump(CDumpContext& dc) const; //存储上下文#endif这两个函数是调试用的,第一个函数检查可用性,即是否有效 第二个函数如果未更改的话,最终调用的是Cwnd::Dump转载 2013-12-02 21:49:38 · 974 阅读 · 0 评论 -
gdb调试经验
1.如何查看子函数b 函数名2. 如何查看指针申请的数组p *array@lenlen由自己ding3. 如何带参数的调试gdb ./main然后r /projdata3/info_fil/yqxu/opinion_mining/code_yqxu_stc_laram/data/settings_20ng.txt 7 1 4 1 0.5 0.5 0.1 4.0 0.转载 2013-12-15 23:32:02 · 729 阅读 · 0 评论 -
VS2005查看指针数组
http://blog.csdn.net/cadcisdhht/article/details/5651488为了显示出数组中所有元素的内容,我们可以在数组名的后面添加一个“, #”(#表示数组的长度)。如果我们在上面的数组名添加该后缀名就得到:转载 2013-12-29 12:27:06 · 1012 阅读 · 0 评论 -
在子函数中对数组进行动态分配得到NULL
http://bbs.csdn.net/topics/380256028http://www.cnblogs.com/qqingmu/archive/2007/09/19/898125.htmlhttp://blog.csdn.net/li857795020/article/details/8062548楼主的函数调用的方式是两个2级指针直接复制,其实也就类似于在main函数中转载 2013-12-17 17:02:24 · 839 阅读 · 0 评论 -
C++面向对象析构函数用法,destructor
http://www.cnblogs.com/daoluanxiaozi/archive/2011/12/09/2281796.html转载 2013-12-17 20:31:09 · 1105 阅读 · 0 评论 -
系统为什么要分Program Files(x86)和Program Files
对于64bit的win7,即可以安装32bit的程序,也可以安装64bit的程序。32bit的程序放在Program Files(x86)里面64bit的程序放在Program Files 里面对于VS 2005, 我们是安装在Program Files(x86)里的,虽然win7是64bit的,但是对于第三方的lib,我们还是要下32bit的这个是64转载 2013-12-19 22:24:10 · 5626 阅读 · 0 评论 -
fstream和ifstream详细用法,c++文件输入输出要注意!!
1. 举例a.txt120 0:1 2:3121 0:1 3:2ifstream fileIn()fileIn>>len 是读取到某一个分隔符(例如空格)停止,fileIn向前移动一个单位,像a.txt这个文件,fileIn>>len1 读取120 到len,fileIn向前移动fileIn>>len2 读取 0:1 到len2转载 2013-12-20 16:12:05 · 2129 阅读 · 0 评论 -
对结构体进行sizeof计算要点!!!不同编译器结果不一样,gcc宇VC就不一样
sizeof 变量名 1. 定义: sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数。 2 结构体的sizeof 这是初学者问得最多的一个问题,所以这里有必要多费点笔墨。让我们先看一个结构体: struct S1 { char转载 2013-03-05 23:50:35 · 3593 阅读 · 0 评论 -
字符串处理:0xABCD,如果是大端规则,在内存中CD存在高地址位,AB存在低位,printf的时候先打CD,再打AB
RT。java中int readInt()此输入流的下四个字节,将它们解释为一个 int。Integer.reverseBytes这个方法就是把读入的byte高低调转,得到正确的数原创 2013-03-04 21:57:46 · 1709 阅读 · 0 评论 -
vc调用matlab (我的环境是win7+vs2008+matlab2010a)
使用MATLAB引擎方式实现VC与MATLAB混合编程的步骤如下:1. 对于所有的使用MATLAB引擎方式实现VC与MATLAB混合编程的项目都得对VS2008当且仅进行一次如下设置: a. 打开VS2008—>“工具”-->“选项”-->“项目和解决方案”-转载 2011-10-07 12:04:27 · 1019 阅读 · 0 评论 -
10_2_4.exe 中的 0x00b0d00a 处有未经处理的异常: 0xC0000005: 读取位置 0xccccccc0 时发生访问冲突
肯定是内存申请了没释放!!!原创 2012-03-03 14:12:03 · 4057 阅读 · 0 评论 -
VC变量与matlab变量之间的转换,和互相调用
0.准备头文件#include "engine.h"#include "matrix.h"//#pragma comment(lib,"libeng.lib") //#pragma comment(lib,"libmx.lib")Engine *ep; // matlab engineusing namespace std;void open_m原创 2012-03-02 17:27:20 · 1154 阅读 · 0 评论 -
动态申请三维数组
//构建3维矩阵 double*** data3d;//k是最外层(Z),i次外层(y),j是内层(x) data3d =new double**[volume_depth]; for(int k=0; k{ data3d[k] = new double*[volume_height]; for (int i=0; i data3原创 2012-03-13 22:29:06 · 3551 阅读 · 0 评论 -
memset用法
主要作用是将数组或者结构体初始化,置零。。在C中 or 在C++中 void *memset(void *s, int ch, size_t n); 函数解释:将s中前n个字节替换为ch并返回s; memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。 常见的三种错误转载 2012-05-06 15:52:21 · 626 阅读 · 0 评论 -
matlab调用C/C++程序,用mex
如果我有一个用C语言写的函数,实现了一个功能,如一个简单的函数:double add(double x, double y){return x + y;} 现在我想要在Matlab中使用它,比如输入: >> a = add(1.1, 2.2) 3.3000要得出以上的结果,那应该怎样做呢?解决方法之一是要通过使用ME转载 2012-05-08 10:36:17 · 1688 阅读 · 0 评论 -
VC++中建立MEX文件及调试
http://wenku.baidu.com/view/812da668a98271fe910ef92d.html在 Visual C++ 中建立 MEX 文件及调试在 Matlab 环境中可以方便的编辑 MEX 文件,而编译 MEX 文件只要一句 mex 命令,所以一般不需要 VC++ 环境来建立 MEX 文件。但对于大型的 MEX 程序,可能会比较复杂,容易出错,这时可以利用 Vi转载 2012-05-08 11:15:56 · 1128 阅读 · 0 评论 -
卸载Visual Studio的插件(例如VA_X)
工具-扩展程序管理器tool-extension manager原创 2012-05-28 10:54:28 · 12972 阅读 · 0 评论 -
用debug中的exe跑程序,在批处理bat里面传入参数
argv[0] 表示程序名称argv[1] 表示第一个参数,依此类推assert(argc == 4)强制赋予argc参数个数为4atoi(argv[1])将argv字符串转为int型。将debug中的exe文件另外放在一个空文件夹中,相应的需要使用的文件都放到一起。再写个.bat批处理"cd ****path程序名 参数1 参数2......程序名 参数1原创 2012-05-28 16:59:13 · 1972 阅读 · 0 评论 -
VC中调用matlab引擎
1. 包含和库目录,还有附加依赖项都选好2. #include3. 定义Engine *ep; // matlab engine4. 加上openEng和closeEng void open_matEng() {if( !( ep = engOpen(NULL) ) ){fprintf(stderr, "\nCan't start MATLAB engine\n")原创 2012-05-10 14:50:38 · 727 阅读 · 0 评论 -
VC++中注意申请数组之后,一定要初始化,即便每次都会重新申请地址
1)对于非结构体数组,可以使用int a[100]memset(a,0,sizeof(int)*100) 按字节赋值为0,或者-1;2) 对于结构体 PATHAPATH = new PATH[100];再写初始化函数,不能使用memset原创 2012-06-12 16:59:49 · 1201 阅读 · 0 评论 -
VC中动态申请二维数组
VC中动态申请double data[100][8000],dataInterp[300][8000]方法一:double **data,**dataInterp;申请分配data = (double **)malloc(sizeof(double)*100);dataInterp = (double **)malloc(sizeof(double)*300);for(原创 2012-03-11 11:13:55 · 966 阅读 · 0 评论 -
VC6.0 error C2143: syntax error : missing ';' before 'type'。。
RT。将参数的定义 放到 执行语句的前面即可原创 2013-01-30 15:03:56 · 738 阅读 · 0 评论 -
VC中动态申请和释放二维数组 用new delete
#define ROW 100#define COL 200#define T char (int,float,....) //通用数据类型T ** pTemp ;*pTemp = new T[ROW] ;for (int i = 0 ; i pTemp[i] = new T[COL};/////////////////deletefor (int i =原创 2013-01-30 16:16:23 · 2528 阅读 · 0 评论 -
32位机,VC中所有类型的指针全部为4byte,int也为4byte,
RT原创 2013-03-04 20:47:51 · 472 阅读 · 0 评论 -
ifstream fileIn 读取文件遇到的问题
如果最后一行什么都没有,即倒数第二行多了个\n,文本的末尾多一个\n,那么fileIn还是会读取到length,因为什么都没有,所以length还会是last time value。所以。要每次都给length赋初值为0while ( fileIn.good() && !fileIn.eof() )fileIn>>length;原创 2013-12-25 14:44:53 · 3990 阅读 · 0 评论