c++
dragoo1
这个作者很懒,什么都没留下…
展开
-
Qt QFile::copy创建文件问题(转)
最近发现在老项目上出现一个bug:一个ini的配置文件添加在qrc文件中,代码中通过QFile读取并copy到缓存目录中,配置文件内容在UI上显示并支持增删改,但在win10上,用户添加内容项后下次启动程序发现新添加内容丢失。也就是说 在win10上QFile::copy创建的文件属性默认是只读的,如果需要读写,可以在之后调用QFile::setPermissions函数设置文件的permissions和ownership。转载 2024-05-31 09:58:28 · 229 阅读 · 0 评论 -
ISO C++11 does not allow conversion from string literal to ‘char *‘(转)
版权声明:本文为CSDN博主「Littlehero_121」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/Littlehero_121/article/details/121762521。这样在编译的时候才不会报错!这个是C++11标准,例如。转载 2023-06-27 13:30:40 · 200 阅读 · 0 评论 -
HEAP[test0621.exe]: Heap block at 00FB3D08 modified at 00FB3D14 past requested size of 4
此类问题在执行delete时会报错并引起程序崩溃,原因在于申请的内存被越界访问,需重点排查delete的对象。原创 2023-04-24 09:22:03 · 188 阅读 · 1 评论 -
0xC0000139: Entry Point Not Found
经查:exe采用的是vs2008+qt4.8.6(QtCore.dll链接msvcr90.dll),dll采用的是vs2010+qt4.8.5(QtCore.dll链接msvcr100.dll),解决方法:将exe工程升级到vs2010+qt4.8.7,避免LoadLibraryExA加载的dll引用的vc运行库与exe引用运行库不一致。在一个exe动态引入dll,debug版没事,release版老是不成功,且GetLastError返回值为0。原创 2023-04-21 18:51:06 · 5525 阅读 · 0 评论 -
warning C4150: 删除指向不完整“CXxx”类型的指针;没有调用析构函数
出现原因:class CXxx;这种方式向前申明,其后面的类只能申明其指针,前向申明以后的类无法看到其类实体。所以,delete的时候,CXxx的析构函数对后面的类是透明不可见的,除非使用头文件包含。...转载 2022-06-22 17:53:25 · 1101 阅读 · 0 评论 -
R6030- CRT not initialized
vs2010 debug下调试c++程序时,程序报错:Runtime Error!Program: D:\Program Files (x86)\test\test\test.exeR6030- CRT not initialized参考https://blog.csdn.net/chenlycly/article/details/120877146里面的介绍,使用windgb查到发现exe引用的的libcurl.dll是release版的...原创 2022-06-16 14:37:34 · 6175 阅读 · 0 评论 -
windows下判断本进程是否为子进程
#include <tlhelp32.h>using std::wstring;int isChildProcess(){ int ret = 1; TCHAR szModule[512] = {0}; GetModuleFileName(NULL, szModule, 512); wstring wstrModule = szModule; DWORD d_expID = 0; GetWindowThreadProcessId(GetShellWindow(), &.原创 2022-03-02 10:37:23 · 600 阅读 · 0 评论 -
libcurl CURLOPT_WRITEFUNCTION注意事项(转)
NAMECURLOPT_WRITEFUNCTION - set callback for writing received dataSYNOPSISDESCRIPTIONPass a pointer to your callback function, which should match the prototype shown above.This callback function gets called by libcurl as soon as there is data转载 2022-02-24 13:03:13 · 881 阅读 · 0 评论 -
Debug error错误
问题:编译,链接都没问题,运行结束时出现Debug error错误,DAMAGE:After Normal block (#187) at 0x00033160源码://子函数问题,与主函数无关, 主函数的have[pn][rn],need[i][j],offer[rn]被传递,返回一整数值int issafe(vector < vector<int> >& have, vector < vector<int> >& nee...原创 2017-01-17 21:25:58 · 10304 阅读 · 0 评论 -
abnormal program termination
//我的编译器是VC6.0#include<iostream.h>#include<iomanip.h>#include<string>//using namespace std;class Date{int year, month, day;void init();public:Date(const std::string& s);Date(int y=2000, int m=1, int d=1);void display(...原创 2017-01-17 21:26:27 · 8757 阅读 · 0 评论 -
fatal error C1010: 在查找预编译头指令时遇到意外的文件结尾
问题:drawhouse1.cpp(17) : fatal error C1010: 在查找预编译头指令时遇到意外的文件结尾解决:方法1.cpp文件添加引用#include "Stdafx.h"方法2.右键解决方案视图的cpp文件,C/C++,Precomplied Header,Create/Use Precompliled Header,Not Using Precompliled Header...原创 2017-01-17 21:27:36 · 9141 阅读 · 0 评论 -
MFC怎么实现组合键盘响应
if (pMsg->message == WM_KEYDOWN){ if (pMsg->wParam == 'F' && GetKeyState(VK_CONTROL) && pMsg->lParam & 0x20000000) { MessageBox(L"Ctrl+ALT+F"); } else if (pMsg->wParam == 'F' && GetKeyState(VK_CONTROL) &&.原创 2022-02-22 15:35:42 · 1474 阅读 · 0 评论 -
firefox NPAPI 插件开发(c++)-插件与JS的交互(三)
转自:https://blog.csdn.net/tgdzsjh/article/details/21447667NPAPI标准提供了一套插件与JS的交互机制。1. javascript调用插件方法: 浏览器首先会调用NPP_GetValue(NPP instance, NPPVariable variable, void* value)取得NPObject对象的地址。Variable参数为NPPVpluginScriptableNPObject。在取得该对象后浏览器就可以调用插件提供的NPCla.转载 2022-02-18 15:25:48 · 748 阅读 · 0 评论 -
firefox NPAPI 插件开发(c++)(二)-为插件添加和脚本交互的能力(转载)
转载自:http://www.cppblog.com/epubcn/archive/2008/11/14/66888.html【原创】我的Firefox插件开发之旅(7)——为插件添加和脚本交互的能力先说一句题外话,上一节一开始我提到了由于.rc导致我自己写的插件不能被FF识别的问题,今天终于找到答案了。在这篇文章中:https://developer.mozilla.org/en/Gecko_原创 2017-01-17 21:33:49 · 1454 阅读 · 0 评论 -
firefox NPAPI 插件开发(c++)(一)
1.创建1Win32控制台应用程序,应用程序类型为DLL,附加选项为空项目2.项目-》右键-》配置属性-》常规-》字符集-》使用多字节字符集3.复制sdk\samples\npruntime文件夹下的np_entry.cpp,npn_gate.cpp,npp_gate.cpp到nptest项目目录下,并添加到项目中其中np_entry.cpp添加#include因为使用到offsetof这时候编原创 2017-01-17 21:33:23 · 4335 阅读 · 0 评论 -
C++ :函数中无需改变传入参数的值时,定义时把 “Item & x ” 都改成 \“const Item & x\“
//f080204.h#ifndef f080204#define f080204#include#includeusing namespace std;class Date {int year, month, day;public: void set(int y, int m, int n);void set( string& s); bool isLeapYear();原创 2017-01-17 21:25:36 · 336 阅读 · 0 评论 -
GetOpenFileName设置居中
static UINT_PTR CALLBACK OFNHookProc (HWND hdlg, UINT uiMsg, WPARAM wParam, LPARAM lParam){ if ((uiMsg == WM_NOTIFY) && (reinterpret_cast<OFNOTIFY*>(lParam)->hdr.code == CDN_INITDONE)) { RECT r; int w, h;...原创 2022-01-04 13:55:49 · 501 阅读 · 0 评论 -
extra qualification错误(转)
今天在新SuSE机上编译cache的时候,出现了extra qualification这样的错误提示。该机器的GCC为4.1.2。浏览网上的资料,发现有关于该错误的如下描述:With the new gcc version, most of C++ programs throw an error named extra qualification. Let's see how we can solve the error. What is the problem.class Foo{ ...转载 2021-12-13 10:15:08 · 3120 阅读 · 0 评论 -
从std::string中获取文件路径扩展名
string GetFileExt(string& strFile, int isLower){ if(isLower == 1) { string strTemp = strFile; std::transform(strTemp.begin(), strTemp.end(), strTemp.begin(), ::tolower); string::size_type pos = strTemp.rfind('.'); string strExt = strTemp.s.原创 2021-11-17 16:37:25 · 773 阅读 · 0 评论 -
LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
问题描述:使用VS2010新创建了一个WIN32工程。编译时报错。报错信息如下:LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt原因分析:从网上查阅相关资料发现原来是VS用来进行COFF格式转换的工具cvtres.exe被破坏了。因为存在两个cvtres.exe文件。而且vs下面的版本较旧。解决方法:第一步:找到.net目录下的cvtres.exe...转载 2021-11-07 16:18:34 · 321 阅读 · 0 评论 -
Qt无边框窗口实现拖动和改变大小
主要参考了https://blog.csdn.net/qq_16952303/article/details/51974502?locationNum=8&fps=1,但原文章在某些情况下,鼠标形状不刷新,改进了一版。MyResizeWidget.h#ifndef MYRESIZEWIDGET_H#define MYRESIZEWIDGET_H#include <QtGui>#define EDGE_MARGIN 8namespace Ui {class MyRe原创 2021-11-05 15:02:28 · 2216 阅读 · 3 评论 -
Qt中各个widget前后位置的设定(转)
这两天在总结一些以往project中遇到的问题,正好别组有同事问我关于Qt中各个widget窗口的前后位置是如何定义的,这里就总结一下: 在Qt中,所有问题都要一分为二,讨论两种不同的情况:一个是最常用的QWidget体系,而另外一个则是QGraphicsWidget体系。 ①:在常用的QWidget体系中,设置前后位置是主要是用raise(),underStack(),hide()函数。 理论为:在Qt中每个widget窗口都维持着自己的一个创建栈(widge...转载 2021-10-18 13:55:46 · 2175 阅读 · 0 评论 -
vs2010保存和编译文件导致moc文件自动排除的解决方法
https://www.136.la/shida/show-409040.html我有一个VS2010解决方案,有几个基于Qt的项目。每当我修改项目中的文件时,生成的文件(moc _ * .cpp)会更改其属性以从构建中排除。解决方法:可以把头文件和源文件从项目移除,再添加进来就ok了参考:https://www.thinbug.com/q/50952414https://my.oschina.net/chamsdoncon/blog/1523384https://www.136.l.原创 2021-09-26 10:02:26 · 316 阅读 · 0 评论 -
triggered传递参数
我给某个控件注册了一个槽函数,代码是这样的:connect(ui->manageCla, SIGNAL(triggered()), this, SLOT(onItemClicked()));然后我想问一下,怎么给 onItemClicked()这个槽函数传递参数啊?------解决方案--------------------connect(ui->manageCla, SIGNAL(triggered()), this, SLOT(onItemClicked()));你这里是在同一个类,原创 2021-09-17 10:36:21 · 1109 阅读 · 0 评论 -
error C2873: “std::errc”: 符号不能用在 using 声明中
解决方法:直接注释掉就好了参考:C++使用websocketpp写web服务器报错符号不能用在 using 声明中-编程语言-CSDN问答原创 2021-09-16 15:55:54 · 1484 阅读 · 0 评论 -
qt的pos()和globalpos()(globalpos是相对于桌面的)(转)
参考:http://www.cppblog.com/izualzhy/archive/2011/03/21/142408.html原文粘贴:新建一个窗口程序,然后创建一个QMenu对象。在构造函数里初始化menu = new QMenu("menu", this); //menu在头文件声明QAction *action = new QAction(tr("1111"), this); //为使目录较大,能看见,我们添加一个actionmenu->addAction(action);然转载 2021-09-09 13:44:38 · 986 阅读 · 0 评论 -
C++析构函数的自动调用(用于父类指针指向子类对象,内存泄漏问题)(转)
转自:https://www.cnblogs.com/xuaidongstdudyrecording/p/6016036.htmlclass A {public:A() { printf("A \n"); }~A() { printf(" ~A \n"); }// 这里不管写不写virtual,删除B对象的时候,都会被执行。因为这个例子是B*指针指向B对象,不是A*指针指向B对象。};class B : public A{public:B() { printf("B \n"); }.转载 2021-09-03 14:02:53 · 749 阅读 · 1 评论 -
error RC2135 : file not found: xxx.tlb
Under the Resources tree (which is under Configuration Properties),click "General" and make sure that for Additional Include Directories,you've specified "$(IntDir)" for additional include directories. Thisshould not be blank. And we're specifying the i转载 2021-08-31 19:17:19 · 592 阅读 · 0 评论 -
C++编码规范
https://google.github.io/styleguide/cppguide.htmlhttps://github.com/isocpp/CppCoreGuidelines原创 2021-08-31 10:31:56 · 133 阅读 · 0 评论 -
boost库生成文件命名和编译(转载)
boost库生成文件命名和编译(原址:http://www.cppblog.com/Robertxiao/archive/2013/01/06/197022.html)生成文件命名规则:boost中有许多库,有的库需要编译、而有的库不需要编译,只需包含头文件就可以使用。编译生成的文件名字普遍较长,同一个库根据编译链接选项不同,又可以生成多个不同名字的文件。生成的文件名字是很长,可是这样带的信息才多,也就容易识别出用途。其实生成文件的名字遵循一定的规则,有着固定的格式。识别这种格式,能帮助我们更高效地转载 2021-08-27 10:37:14 · 798 阅读 · 0 评论 -
c++设计模式之简单工厂模式(无内存泄漏)
主要特点是需要在工厂类中做判断,从而创造相应的产品,当增加新产品时,需要修改工厂类。使用简单工厂模式,我们只需要知道具体的产品型号就可以创建一个产品。缺点:工厂类集中了所有产品类的创建逻辑,如果产品量较大,会使得工厂类变的非常臃肿。#include <string>using std::string;class Tank{public: virtual const string& type() = 0; virtual ~Tank(){};};class T原创 2021-08-25 11:28:06 · 170 阅读 · 0 评论 -
c/c++获取和修改windows下文件修改时间
string GetModifyTime(const char* pstrFilename){ struct _stat64i32 statbuf; _tstat(pstrFilename, &statbuf); tm tmCurTime; _localtime64_s(&tmCurTime, &(statbuf.st_mtime)); char szRet[MAX_PATH]; _stprintf(szRet, "%4d-%02d-%02d %02d:%02d:%0.原创 2021-08-24 09:53:11 · 2152 阅读 · 2 评论 -
VC在Windows下让指定程序兼容高分屏(HDPI)模式(转)
有这样的可能:某用户的显示器是4K显示器而我们开发的APP的尺寸最大也就1080,那么这时候用户打开这应用就会很小。这种情况下用户一般是会开启系统的高清分屏的:一般都会选择缩放125%以上:这时候我们的程序如果不默认支持高清分屏那么就还是以前(未缩放)之后的大小。本例就是提供一个操作让指定的exe支持高清分屏模式。指定某exe支持或停止支持高清分屏://* absAppPath : exe的绝对路径//* enabled : 是否支持//* return ...转载 2021-06-17 17:32:12 · 630 阅读 · 0 评论 -
error: ‘z_size_t’ does not name a type
环境:linux,kylin(银河麒麟),x86_64,gcc4.9.3原来代码:#include "../../Sep4/Dependence/zlib-1.2.11/zlib.h"解决:原创 2021-05-29 10:29:31 · 871 阅读 · 0 评论 -
UTF-8转为ASCII(转)
一般从服务器上获取到的网页数据是UTF-8格式,要在对话框上显示正确无乱码,必须转成ASCII编码。这种方法比较简单方便:void ConvertUTF8ToANSI(const char* strUTF8, CString &strANSI){ int nLen = ::MultiByteToWideChar(CP_UTF8,MB_ERR_INVALID_CHARS,(LPCTSTR)strUTF8,-1,NULL,0); //返回需要的unicode长度 WCHAR * wszA.转载 2021-05-26 18:37:23 · 6452 阅读 · 0 评论 -
QSettings立即保存ini文件
#include "mainwindow.h"#include <QApplication>#include <QSettings>int main(int argc, char *argv[]){// QApplication a(argc, argv);// MainWindow w;// w.show(); //return a.exec(); QSettings configIniWrite("d:\\test.ini",.原创 2021-04-28 15:40:59 · 639 阅读 · 0 评论 -
X11/extensions/XTest.h:没有那个文件或目录(转)
解决方法: sudo apt-get install xorg-dev如果makefile中没有-lXtst选项,则修改makefile 中 LIBS 选项: 添加 -lXtst选项。转自:https://blog.csdn.net/ldl22847/article/details/18862795转载 2021-04-15 15:13:28 · 445 阅读 · 0 评论 -
error: X11/extensions/XInput.h: No such file or directory(转)
解决方案:$sudoapt-getinstalllibxi-dev启示:是不是遇上no such file or directory时,很多情况是因为没有安装相应的库呢?转自:https://www.cnblogs.com/niocai/archive/2011/07/14/2106517.html转载 2021-04-15 14:12:05 · 822 阅读 · 0 评论 -
LoadLibraryEx返回126
用GetLastError()返回错误代码为126解决:用depends查看下是不是缺少库,我的就是所有函数都正常,但是左侧缺少dll,拷贝到同一目录就可以了。原创 2021-04-15 13:57:15 · 670 阅读 · 0 评论 -
error: ‘RTLD_LAZY’ was not declared in this scope
需要添加头文件#include <dlfcn.h>参考:https://stackoverflow.com/questions/50770755/rtld-now-and-dlopen-not-declared-in-this-scope-qt-creator-vulkan-dlopen原创 2021-04-13 10:28:00 · 888 阅读 · 0 评论