C/C++编程
东山一角
我是某单位研发人员,热爱学习,擅长编程,喜欢分享。
展开
-
VS2015 设置工程目录不保存 .sdf或.db 文件、 Ipch 文件夹
sdf或db文件、Ipch文件夹均较大,编译几次就可以达到几十兆。为了便于工程保持,可以设置这些文件保存于工程之外,但又不影响工程的正常运行。(PS:这些文件不会影响工程的功能,只会影响工程的编译速度。原创 2023-09-21 15:37:31 · 523 阅读 · 0 评论 -
VS2015编译fopen报错
Win10 64bit + VS2015环境在C++程序中,使用stdio.h里的fopen打开文件,编译错误如下,建议改为fopen_s我查了fopen_s与fopen的区别,如果改为fopen_s,程序改动比较大。于是考虑关闭该警告。查到如下方法:在VS2015工程属性中的c/c++里的预处理器中,添加指令_CRT_SECURE_NO_WARNINGS应用——确认,再进行编译时,就通过了。...原创 2021-03-11 11:39:54 · 984 阅读 · 0 评论 -
Eigen库自带快速傅里叶变换(FFT)实例
最近在开发一个项目,用到大量线性变换(矩阵计算)和快速傅里叶变换(FFT)。利用Eigen实现矩阵计算非常方便,在实现FFT时,借助了FFTW3库,但二者由于数据类型不同,需要转化,影响计算效率。Eigen+FFTW3的计算需要1.7s,希望进一步提高算法的计算效率。预算尝试Eigen库自带的FFT,相关资料如下:EigenFFTEigen/FFT可以看出,Eigen FFT并不成熟,借助了kissFFT实现的。在stackoverflow网站上找到了参考代码,eigen-fft-libra原创 2021-02-05 11:45:57 · 5027 阅读 · 3 评论 -
unistd.h文件
转载地址:http://baike.baidu.com/link?url=nEyMMFYevs4yoHgQUs2bcfd5WApHUKx0b1ervi7ulR09YhtqC4txmvL1Ce3FS8xTKtWQuvmEBHC9xezMGpvGHaunistd.h 是 C 和 C++ 程序设计语言中提供对 POSIX 操作系统 API 的访问功能的头文件的名称。该头文件由 POSIX转载 2013-09-16 16:09:07 · 17409 阅读 · 5 评论 -
C++如何调用C
C++程序调用C程序时,会出现编译错误,下面给出解决该问题的实例。//MathFun.h#ifndef MATHFUN_H#define MATHFUN_H#ifdef __cplusplusextern "C"{#endif#include /** 函数名:matMult* 功能:实现两矩阵相乘。* 参数:* double fstMat[] - 存放矩阵A的元素原创 2013-07-04 16:20:24 · 975 阅读 · 0 评论 -
C语言中求程序运行时间
C语言中求程序运行时间首先,包含头文件#include 其次,在程序中建立两个监测端点 clock_t stime = clock(); //开始计时 MathFunObj.eleCofactor(mult, n, 1, 1, cofMat); clock_t etime = clock(); //结束计时 printf("running time is :%d ms\原创 2013-07-15 11:45:56 · 1831 阅读 · 0 评论 -
OpenCV中IplImage与Qt中的QImage转化
OpenCV中IplImage与Qt中的QImage转化在工程中由于要涉及到OpenCV中IplImage与Qt中的QImage转化,所以早上写了两个类,下午打算把这个类封装下,封装成dll形式。#ifndef IMAGETRANSFORM_H#define IMAGETRANSFORM_H#include "highgui.h"#include "cv.h"#inc转载 2013-06-07 17:28:06 · 4084 阅读 · 0 评论 -
字符数组和字符指针应用举例
字符数组和字符指针应用举例#include #include void wtFile(char fileNam[]);void wtFile2(char *fileNam);int main(){ char nam[16] = "daniel.txt"; wtFile(nam); char nam2[16] = "lyc.txt"; wtFile2(nam2); c原创 2013-06-17 15:14:16 · 1191 阅读 · 0 评论 -
认识和理解C++类(或C++类浅识)
认识和理解C++类(或C++类浅识)参考资料:《Visual C++教程》 郑阿奇主编类是面向对象程序设计的核心,它实际上是一种新的数据类型。类是对某一类对象的抽象,而对象是某一种类的实例。因此,类和对象是密切相关的。类的定义一般分为声明部分和实现部分。声明部分用来声明该类中的成员,包含数据成员的声明和成员函数的声明。成员函数是用来对数据成员进行操作的,又称为“方法原创 2013-09-26 11:26:20 · 3646 阅读 · 0 评论 -
给出三角形三顶点的坐标,求三角形面积
给出三角形三顶点的坐标,求三角形面积给出三角形△ABC及其三个顶点的坐标,如图所示:则三角形面积可表示为:神爱世人,甚至将他的独生子(耶稣)赐给他们,叫一切信他的,不至灭亡,反得永生。——【圣经·约翰福音3:16】原创 2013-06-20 14:58:41 · 8058 阅读 · 1 评论 -
C语言学习之认识exit()函数
C语言学习之认识exit()函数 在C语言的main函数中我们通常使用return (0);exit(0) 表示程序正常退出,exit⑴/exit(-1)表示程序异常退出。exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束。但在如果把exit用在main内的时候无论main是否定义成void返回的值都是有效的,并且exit不需要考虑类型,exit⑴等价于ret原创 2013-11-23 22:08:55 · 7525 阅读 · 0 评论 -
利用枚举类型变量求从5种颜色球中取3个不同颜色球的取法
利用枚举类型变量求从5种颜色球中取3个不同颜色球的取法《Ccxu》原创 2014-04-10 09:23:05 · 8104 阅读 · 0 评论 -
VS2008错误Error spawning 'cmd.exe'的解决方法
解决方法:In the Options go into Projects and Solutions -> VC++ Directories page and place this rows:$(SystemRoot)\System32$(SystemRoot)$(SystemRoot)\System32\wbem适用VC8的各种工程项目(包括移动设备的项目),转载 2014-09-15 10:13:58 · 1047 阅读 · 0 评论 -
错误:Visual Studio has encountered a problem and needs to close
我使用VS2008+Qt4.7.4开发时,安装Qt后报出该错误,google了一下解决了问题,原来在安装QT插件不正确导致的。 在360软件管家中,卸载了qt-win-opensource-4.7.4-vs2008,但qt-vs-addin-1.1.9没有找到卸载按钮。后来在安装目录下,点击对应的uninstall,就成功卸载了。之后,VS启动正常了。网上给出了一些通用做法,比如: 资源一 h原创 2015-09-07 14:37:36 · 4127 阅读 · 0 评论 -
一组整数的全排列【C程序】
#include "iostream" using namespace std; int myfactorial(int n){ int i,factorial; i = 1; factorial = 1; while(i <= n) { factorial = factorial * i; //递归思想 i++;原创 2016-03-29 11:46:38 · 1013 阅读 · 0 评论 -
new与malloc的区别
摘自《高质量C++/C编程指南》1.malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。2.对于非内部数据类型的对象而言,光用malloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之原创 2013-06-04 17:29:44 · 1028 阅读 · 0 评论 -
类中静态变量的初始化及使用问题
类中静态变量的初始化及使用问题类中的静态变量是属于类的,不属于某个对象!不能在定义对象时对变量初始化,就是不能用构造函数来初始化,而且使用时应加上类名,而不是对象。静态数据成员的使用方法和注意事项如下: 1、静态数据成员在定义或说明时前面加关键字static。 2、静态成员初始化与一般数据成员初始化不同。静态数据成员初始化的格式如下: ::= 这表明: (转载 2013-06-13 17:26:38 · 6953 阅读 · 0 评论 -
求三个字符串的长度,并输出最长值和最短值及其长度
////////////////////////////////////////////////////////求三个字符串的长度,并输出最长值和最短值及其长度 ///////////////////////////////////////////////////// #include #include #include char* strLenCmp(char* x,原创 2012-08-08 20:01:01 · 2356 阅读 · 0 评论 -
求三个数的最大值和最小值(C程序)
////////////////////////////////////////////////////////求三个数的最大值和最小值 ///////////////////////////////////////////////////// #include #include float compTwo(float x, float y, int flag);原创 2012-08-08 18:29:55 · 12133 阅读 · 0 评论 -
给出三角形三边,求面积(C语言)
设三角形三边长为a、b、c,并满足约束条件三边之和大于第三边,面积为Area则:其中 C语言代码:#include main(){ float a,b,c,s,area; printf("请输入三个边长(以Enter键结束每次输入):\n"); scanf("%f%f%f",&a,&b,&c); //变量输入转载 2012-08-15 15:40:24 · 24973 阅读 · 1 评论 -
指针、指针的指针和数组操作例程
#include #include #include int main(){//pointerBYTE *pImg;pImg=new BYTE[4];for (int i=0;i{pImg[i]=i;}printf("The data in pImg: ");for (int i=0;i{printf("%d ",pImg[i]);原创 2012-09-20 13:09:34 · 1829 阅读 · 0 评论 -
结构体指针变量使用方法举例
#include #include //定义结构体类型xyCdntstruct xyCdnt{ int x; int y;};//求和函数(输入变量是结构体变量)int myAdd(xyCdnt xyCdntLoc){ int sum; sum=xyCdntLoc.x+xyCdntLoc.y; return sum;}//求和函数(输入变量是结构体类型指针)原创 2012-11-07 15:38:07 · 6201 阅读 · 0 评论 -
国际象棋走棋步数(Distance on Chessboard)计算程序
点击打开链接国际象棋的棋盘是黑白相间的8 * 8的方格,棋子放在格子中间。如下图所示: 王、后、车、象的走子规则如下: 王:横、直、斜都可以走,但每步限走一格。 后:横、直、斜都可以走,每步格数不受限制。 车:横、竖均可以走,不能斜走,格数不限。 象:只能斜走,格数不限。写一个程序,给定起始位置和目标位置,计算王、后、车、象从起始位置走到目标位置转载 2012-11-08 19:33:17 · 4444 阅读 · 0 评论 -
Qt界面中文显示乱码问题
在Qt界面上,如果想显示中文,会出现乱码。解决该问题的办法如下:1. 在main函数所在的.cpp文件中,添加头文件:#include 2. 在main函数体的开始部分添加如下代码:// 以下部分解决中文乱码QTextCodec *codec = QTextCodec::codecForName("GBK");QTextCodec::setCodecForTr(codec原创 2013-04-01 15:00:51 · 1855 阅读 · 1 评论 -
QLabel显示图像
通常用QLabel显示图像,QLabel类有setPixmap()函数,可以用来显示图像。也可以直接用QPainter画出图像。如果图像过大,直接用QLabel显示,将会出现有部分图像显示不出来,这时可以用Scroll Area部件。方法:将QLabel部件放到Scroll Area部件里面,将两个采用栅格布局,当图像超出了QLabel部件大小时,就会产生滑动杆,这样图像就可以都看到了。具原创 2013-04-01 19:49:52 · 15301 阅读 · 0 评论 -
C语言冒泡法排序[经典]
C语言冒泡法排序[经典]冒泡法排序的算法思想是: 通过无序区中相邻记录关键字间的比较和位置交换,使关键字的记录如气泡一般逐渐往上“漂浮”至“水面”。整个算法是从最下面的记录开始,对每两个相邻的关键字进行比较,且使关键字较小的记录换至关键字较大的记录之上,使得经过一趟冒泡排序后,关键字最小的记录到达最上端,接着,再在剩下的记录中找关键字最小的记录,并把它换在第二个位置上。以此类推原创 2013-05-16 16:45:37 · 24627 阅读 · 7 评论 -
C语言文件操作函数大全
C语言文件操作函数大全1. clearerr(清除文件流的错误旗标) 相关函数 feof表头文件 #include 定义函数 void clearerr(FILE * stream); 函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。 返回值 2. fclose(关闭文件) 相关函数 close,fflush,fopen,转载 2013-05-23 09:57:01 · 1097 阅读 · 0 评论 -
VC中怎么读取.txt文件
VC中怎么读取.txt文件一、 CStdioFile二、 FILE* f = fopen("file name", "mode"); char buff[size]; fread(buff, size, 1, f); fclose(f);三、 //用MFC读文件 CFile file("yourfile.txt",CFile::modeRead转载 2013-05-23 10:11:23 · 3750 阅读 · 0 评论 -
C或C++文件操作大全
文件的打开操作 fopen 打开一个文件 文件的关闭操作 fclose 关闭一个文件 文件的读写操作 fgetc 从文件中读取一个字符 fputc 写一个字符到文件中去 fgets 从文件中读取一个字符串 fputs 写一个字符串到文件中去转载 2013-05-23 10:12:59 · 1442 阅读 · 0 评论 -
c语言exit和return区别
exit函数在头文件stdlib.h中。exit(0):正常运行程序并退出程序;exit(1):非正常运行导致退出程序;return():返回函数,若在main主函数中,则会退出函数并返回一值,可以写为return(0),或return 0。详细说: 1. return返回函数值,是关键字;exit是一个函数。 2. return是语言级别的,它转载 2013-05-23 15:25:15 · 886 阅读 · 0 评论 -
C++中new与delete问题学习
C++中new与delete问题学习一.new char与delete问题1. 问题程序#include using namespace std;void main(){ char* des = new char();des = "testing!";cout<<des<<endl;delete des; /原创 2013-05-13 13:16:06 · 1782 阅读 · 0 评论 -
VS2008如何打开memory窗口
VS2008如何打开memory窗口1. 在想要观察的变量处设置断点2.运行工程至断点处3. debug->windows->memory4. 将变量名称复制至memory的address处,按enter键即可5. 右击内存显示去,可以改变数制原创 2013-05-14 16:24:38 · 5243 阅读 · 0 评论 -
计算字符串长度函数大全
字符串的长度通常是指字符串中包含字符的数目,但有的时候人们需要的是字符串所占字节的数目。常见的获取字符串长度的方法包括如下几种。1.使用sizeof获取字符串长度sizeof的含义很明确,它用以获取字符数组的字节数(当然包括结束符\0)。对于ANSI字符串和UNICODE字符串,形式如下:sizeof(cs)/sizeof(char) sizeof(ws)/sizeo转载 2012-08-08 19:01:58 · 5847 阅读 · 0 评论