 |
求救
|
|
| |
| fatal error C1083: Cannot open precompiled header file: 'Debug/zhpp.pch': No such file or directory
我在编译的时候总是通不过,错误指向"#include "stdafx.h"
请问哪位高手能告诉我为什么总是编译不了的呢?
|
|
| 作者:不祥 zhpeng1983张贴于2006-10-26 20:52:57.0,共阅读2098次,回复2次 |
|
|
 |
简单的错误
|
|
| |
| #include "sting.h"
#include "stdafx.h"
#include <stdio.h>
void main( void )
{
char string[80];
strcpy( string, "Hello world from " );
strcat( string, "strcpy " );
strcat( string, "and " );
strcat( string, "strcat!" );
printf( "String = %s\n", string );
}
编译后出现:
E:\vcprogram\test1\test1.cpp(11) : error C2065: ’strcpy’ : undeclared identifier E:\vcprogram\test1\test1.cpp(12) : error C2065: ’strcat’ : undeclared identifier
|
|
| 作者:vcstudy study张贴于2007-07-27 15:42:04.0,共阅读989次,回复1次 |
|
|
 |
注册表函数的使用例子
|
|
| |
| 1.新建项
例如:在HKEY_LOCAL_MACHINE\SOFTWARE\下新建一个项YanTai,再在YanTai下新建一个项BandSoft
HKEY hSoftKey;
HKEY hPlaceKey;
HKEY hCompanyKey;
//打开HKEY_LOCAL_MACHINE\SOFTWARE
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("software"), 0, KEY_WRITE|KEY_READ,
&hSoftKey) == ERROR_SUCCESS)
{
DWORD dw;
//创建并打开HKEY_LOCAL_MACHINE\SOFTWARE\YanTai
if (RegCreateKeyEx(hSoftKey, _T("YanTai"), 0, REG_NONE,
REG_OPTION_NON_VOLATILE, KEY_WRITE|KEY_READ, NULL,
&hPlaceKey, &dw) == ERROR_SUCCESS)
{
//创建并打开HKEY_LOCAL_MACHINE\SOFTWARE\YanTai\BandSoft
if(RegCreateKeyEx(hPlaceKey,_T("BandSoft"),0,REG_NONE,
...
|
|
| 作者:彭斯琪 pengsiqi1985张贴于2008-10-26 14:40:49.0,共阅读132次,回复0次 |
|
|
 |
VC常用数据类型转换
|
|
| |
| 刚接触VC编程的朋友往往对许多数据类型的转换感到迷惑不解,本文将介绍一些常用数据类型的使用。我们先定义一些常见类型变量借以说明:
int i = 100;
long l = 2001;
float f=300.2;
double d=12345.119;
char username[]="程佩君";
char temp[200];
char *buf;
CString str;
_variant_t v1;
_bstr_t v2;
一、其它数据类型转换为字符串
短整型(int) itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制 itoa(i,temp,2); ///按二进制方式转换
长整型(long) ltoa(l,temp,10);
浮点数(float,double) 用fcvt可以完成转换,这是MSDN中的例子: int decimal, sign; char *buffer; double source = 3.1415926535; buffer = _fcvt( source, 7, &decimal, &sign ); 运行结果:source: 3.1415926535 buffer: '31415927' decimal: 1 sign: 0 decimal表示小数点 ...
|
|
| 作者:不祥 bluejoe张贴于2006-11-10 16:42:10.0,共阅读5554次,回复6次 |
|
|
 |
初学者请教个问题
|
|
| |
| 刚学vc++,我新建了一个mfc,取名"冒泡程序",我如何在冒泡程序.cpp中添加 OnLButtonDown()函数呢?我没有使用vc++.net
|
|
| 作者:leryang leryang张贴于2008-03-10 21:30:09.0,共阅读744次,回复5次 |
|
|
 |
用VC++实现矢量地图背景下的实时显示
|
|
| |
| ...用VC++实现矢量地图背景下的实时显示
一、 前言 电子地图应用作为一门新兴学科,已不仅限于地图制作中。本文利用VC++和OLE(Object Linking and Embedding, 对象连接和嵌入)编程技术,实现了实时信息在矢量地图背景上的显示。
程序应用于显示处理终端,接收并处理网络信息的部分在不同的系统中有不同的要求,这里不再赘述。
MapInfo矢量地图用图层方式进行存储和管理,每个图层对应地图上的一类要素(如居民地,水系,铁路,公路等),对于每个包含图形信息的图层,需要有4个文件(.dat, .tab, .map, .id)支持。
MapInfo地图允许嵌入一个地图窗口到任何能接受OLE对象的应用程序中。从服务器(如MapInfo)插入一个OLE对象到容器应用程序(如Microsoft Word),并在该应用程序中对这个对象进行处理。被嵌入的对象是来自服务器应用程序的对象的一个副本。对象一旦位于容器中,它将不再被链接到源对象。
在VC++应用程序中用OLE方式嵌入MapInfo进程,需定义了一个MapInfo对象(DMapInfo类),DMapInfo类在MapInfo类型库(Mapinfow.tlb)中定义。MapInfo软件提供了自己的编程语言MapBasic, VC++对地图进程的操作主要通过发送MapBasic ...
|
|
| 作者:不详 laixj张贴于2008-10-16 17:29:21.0,共阅读186次,回复0次 |
|
|
 |
手机短信PDU编码与解码
|
|
| |
| //将短信转化为待发送编码
//AT+CMGS=021
//0011000D91683176116125F0000801064F60597DFF01
//021 TPDU长度
//PDU:SMSC地址+TPDU
//00 服务中心号码(SMSC地址)
//11
//00 TP-MR(TP-Message-Reference)
//0D91683176116125F0 TP-DA 收信人手机号码
//00 TP-PID(TP-Protocol-Identifier)
//08 TP-DCS(TP-Data-Coding-Scheme)
//01 TP-VP(TP-Validy-Period)
//06 TP-UDL 短信长度
//4F60597DFF01 TP-UD 你好!
//服务中心号码、收信人手机号码格式
//0D Address-Length 地址长度
//91 Type-of-Address 地址类型
// Bits 7
// 1
// Bits 6 5 4
// 0 0 0 Unknown1
// 0 0 1 International number2
// 0 1 0 National number3
// 1 1 1 Reserved for extension
// Bits 3 2 ...
|
|
| 作者:不祥 bluejoe张贴于2004-04-25 11:15:41.0,共阅读7470次,回复5次 |
|
|
 |
不堵塞的等待函数
|
|
| |
| void CUtil::Wait(int nDelay, UINT nMsgFilter)
{
DWORD nStartTime = GetTickCount();
while (true)
{
DWORD nEndTime = GetTickCount();
if (nEndTime - nStartTime > (DWORD) nDelay)
break;
continue;
PumpMessages(NULL, nMsgFilter);
}
}
void CUtil::PumpMessages(HWND hWnd, UINT nMsgFilter)
{
MSG msg;
// Handle dialog messages
while(::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
//需要过滤的消息
if(nMsgFilter && nMsgFilter == msg.message)
{
continue;
}
if(!::IsDialogMessage(hWnd, &msg))
{
::TranslateMessage(&msg);
::DispatchMessage(&msg); ...
|
|
| 作者:不祥 bluejoe张贴于2004-03-10 14:55:04.0,共阅读1990次,回复1次 |
|
|
 |
十进制/十六进制/二进制字串转化
|
|
| |
| //十进制->二进制
CString DecimalToBinary(CString strDecimal)
{
int nDecimal = atoi(strDecimal.GetBuffer(0));
int nYushu; //ÓàÊý
int nShang; //ÉÌ
CString strBinary = "";
char buff[2];
CString str = "";
BOOL bContinue = TRUE;
while(bContinue)
{
nYushu = nDecimal%2;
nShang = nDecimal/2;
sprintf(buff,"%d",nYushu);
str = strBinary;
strBinary.Format("%s%s",buff,str);
nDecimal = nShang;
if(nShang==0)
bContinue = FALSE;
}
return strBinary;
}
//十六进制到二进制
CString HexToBinary(CString strHex)
{
int nLen ...
|
|
| 作者:不祥 Bccv张贴于2004-03-30 10:02:56.0,共阅读3389次,回复2次 |
|
|
 |
用API 作简繁体转换
|
|
| |
| 1. 输入Big5字符,返回Gb简体字符
//---------------------------------------------------------------------------
//函数输入Big5字符,返回Gb简体字符
//---------------------------------------------------------------------------
AnsiString __fastcall Big2Gb(AnsiString sBig)
{
char* pszBig5=NULL; //Big5编码的字符
wchar_t* wszUnicode=NULL; //Unicode编码的字符
char* pszGbt=NULL; //Gb编码的繁体字符
char* pszGbs=NULL; //Gb编码的简体字符
AnsiString sGb; //返回的字符串
int iLen=0; //需要转换的字符数
pszBig5=sBig.c_str(); //读入需要转换的字符参数
//计算转换的字符数
iLen=MultiByteToWideChar (950 ...
|
|
| 作者:不祥 bluejoe张贴于2006-11-10 16:40:26.0,共阅读3060次,回复2次 |
|
|
 |
Windows消息值列表
|
|
| |
| /*
* Window Messages
*/
#define WM_NULL 0x0000
#define WM_CREATE 0x0001
#define WM_DESTROY 0x0002
#define WM_MOVE 0x0003
#define WM_SIZE 0x0005
#define WM_ACTIVATE 0x0006
/*
* WM_ACTIVATE state values
*/
#define WA_INACTIVE 0
#define WA_ACTIVE 1
#define WA_CLICKACTIVE 2
#define WM_SETFOCUS 0x0007
#define WM_KILLFOCUS 0x0008
#define WM_ENABLE 0x000A
#d ...
|
|
| 作者:不祥 bluejoe张贴于2004-03-11 09:15:39.0,共阅读4170次,回复3次 |
|
|
 |
中国邮递员问题的C++实现源代码
|
|
| |
| //PKU 2337
#include <cstdio>
#include <string>
#include <vector>
#include <stack>
#include <algorithm>
using namespace std;
const int MAX = 1100;
char str[MAX][25];
int n, in[MAX], out[MAX];
vector<string> words[30];
int vis[30];
int f[30], ss, is, os, ps;
int seq[MAX], step;
void find_euler(int pos)
{
int i,j;
while(out[pos])
{
for(; vis[pos] < words[pos].size() ;)
{
string snext = words[pos][ vis[pos] ];
j = snext[snext.length() -1] -’a’;
out[pos] --;
vis[pos] ++;
...
|
|
| 作者:yong yong张贴于2008-09-17 21:15:27.0,共阅读250次,回复0次 |
|
|
 |
哈密而顿回路近似实现的C语言代码
|
|
| |
| /*创建头文件my_hamilton.h*/
#ifndef __MY_HAMILTON_H__ #define __MY_HAMILTON_H__ //#define __MY_HAMILTON_DEBUG__ #define __MY_HAMILTON_RELEASE__ #define N_NODE 20 /* node number */ #define N_EDGE (N_NODE)*((N_NODE)-1)/2 /* edge number = 4(4-1)/2, for it’s undirected graph */ typedef struct EDGEWEIGHT_TP{ unsigned int edgeNum; /* edge number, start from 1 */ unsigned int node1; /* related node1, start from 1 */ unsigned int node2; /* ...
|
|
| 作者:yong yong张贴于2008-09-17 08:33:20.0,共阅读184次,回复0次 |
|
|
 |
VC6.0中使用ADO操作Access数据库
|
|
| |
| ...VC6.0中使用ADO操作Access数据库
ADO提供了一组非常简单,将一般通用的数据访问细节进行封装的对象。由于ODBC数据源也提供了一般的OLE DB Privider,所以ADO不仅可以应用自身的OLE DB Privider,而且还可以应用所有的ODBC驱动程序。关于OLE DB和ADO的其它详细情况,读者可以自行查阅相关书籍或MSDN,这里就不一一说明了。让我们直接步入主题,如何掌握ADO这种数据库访问技术ADO的操作方法和前面讲过的DAO的操作在很多方面存在相似之处,在这里,笔者为了更有效的说明它的使用方法,用VC6.0做了一个示例程序(AdoRWAccess),这个示例程序可以直接通过ADO来操作Access数据库,示例程序的运行效果如下图所示:
在示例程序中我们仍采用原库结构,数据库名Demo.mdb,库内表名DemoTable,表内字段名为Name(姓名)和Age(年龄)的两个字段,来构造示例程序操作所需的Access数据库,这也和上两篇文章的示例源码中的库结构相兼容。
。
下面让我们看看ADO数据库访问技术使用的基本步骤及方法:
首先,要用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库可以作为可执行程序(DLL、EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado15.d ...
|
|
| 作者:Adding qiaoyongbo张贴于2007-12-21 15:44:35.0,共阅读1337次,回复4次 |
|
|
 |
请问怎样使用CMFCToolBar?
|
|
| |
| 怎样用这个类为程序添加多个自定义工具栏?谢谢!
|
|
| 作者:phili phili张贴于2008-09-05 01:52:13.0,共阅读235次,回复0次 |
|
|
 |
获取本地IP地址
|
|
| |
| CString CUtil::GetLocalIp()
{
struct hostent * phost;
char ip[20];
char hostname[50];
gethostname(hostname, 50);
phost = gethostbyname(hostname);
char * * names;
names = phost->h_aliases;
char * * iplist;
iplist = phost->h_addr_list;
while (* iplist)
{
strcpy(ip, inet_ntoa(* (struct in_addr *) * iplist));
iplist++;
}
CString LocalIp = ip;
return LocalIp;
}
|
|
| 作者:不祥 bluejoe张贴于2004-03-02 16:40:13.0,共阅读7504次,回复4次 |
|
|
 |
USB摄像头编程
|
|
| |
| 注意包含头文件qedit.h,dshow.h
几个函数如下,其中有一些全局变量,程序写的充忙,也就不整理了。参考了一些资料。
BOOL initVideo(void)
{
AM_MEDIA_TYPE amt;
CoInitialize(NULL); // COM的初期化
// ---- 输入计算的准备 ----
// 搜索输入装置
IBaseFilter *pbf = NULL;
IMoniker * pMoniker = NULL;
ULONG cFetched;
// 制作装置的各个部分
CoCreateInstance( CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC,
IID_ICreateDevEnum, (void ** ) &pDevEnum);
// 制作视频输入装置的各个部分
IEnumMoniker * pClassEnum = NULL;
pDevEnum -> CreateClassEnumer ...
|
|
| 作者:不祥 afra张贴于2004-05-29 17:34:02.0,共阅读9707次,回复4次 |
|
|
 |
[原创]内存文件读写类CMemoryFile(内存中模拟目录和文件)
|
|
| |
| 项目中常常需要将中间结果进行保存, 以供后续步骤进行处理. 如果以临时文件的方式往往容易"暴露"中间机密信息. 同时,文件IO读写也较浪费时间(说到这里,不得不BS一下windows的文件系统,当一个目录下的文件数目超过10000时,读写文件相当慢,Linux却没有这样的问题).
面对上面情况,本人想到了内存机制:
如果中间结果数据不超过2G(32位windows的内存地址上限).可以在内存中模拟一个文件系统.将这些信息以"内存文件"形式保存在"内存",同时也能提供"内存目录"(或"内存Db")支持.
下面是"内存文件类"的使用示例(使用上和一般的文件类没任何区别,只是不在磁盘上生成文件):
CMemoryFile pfile;
pfile.fopen( "c:/www/1235.bxk", "wb" );
pfile.fprintf( "aaa\nbbb\n" );
pfile.fclose();
CMemoryFile pfile0;
pfile0.fopen( "c:/www/1234.bxk", "wb" );
pfile0.fprintf( "aaa\nbbb\n" );
pfile0.fclose();
...
|
|
| 作者:成长的蚊子 highshow张贴于2008-02-22 14:00:15.0,共阅读1055次,回复2次 |
|
|
 |
vc2005 中 CString转化int,int 转化CString
|
|
| |
| CString转int方法:
CString h;
int a=_ttoi(h);
int转化CString方法:
int a=1263;
CString h;
h.Format(_T("%d"),a);
|
|
| 作者:junxi junxi张贴于2007-06-21 17:30:14.0,共阅读2506次,回复2次 |
|
|
 |
求 《Visual C++数字图像处理 第二版源码》
|
|
| |
| 请问谁有这个源代码能否传给我?hzwen_07@163.com QQ:310984233 非常感谢
|
|
| 作者:林川 hzw1987张贴于2008-03-22 16:34:08.0,共阅读817次,回复1次 |
|
|