http://M.TangGaowei.com

存档: 2008年05月

2008-05-08 16:29:53  | 8,940 次浏览

#include <fstream>
using namespace std;

// AuthInfo 是自定义的 struct
struct AuthInfo auth_info;
string susername, spassword;

/* 写文件 */ 
// 清零
ZeroMemory ( &auth_info, sizeof ( auth_info ) );

susername = “tanggaowei@gmail.com”;
spassword = “000000″;

// 内存拷贝
memcpy(auth_info.username, susername.c_str(), susername.length());
memcpy(auth_info.password, spassword.c_str(), spassword.length());

// 定义打开输出流
ofstream fout(“mbc.dat”, ios::binary);

// 写入
fout.write((char *)(&auth_info), sizeof(auth_info));

// 关闭输出流
fout.close();

/* 读文件 */
ZeroMemory ( &auth_info, sizeof ( auth_info ) );

ifstream fin ( “mbc.dat”, ios::binary );

fin.read((char *)(&auth_info), sizeof(auth_info));

susername = auth_info.username;
spassword = auth_info.password;

ZeroMemory ( auth_info.username, 100 );   // AuthInfo.username[100]
ZeroMemory ( auth_info.password, 50 );    
// AuthInfo.password[50]

memcpy(auth_info.username, susername.c_str(), susername.length());
memcpy(auth_info.password, spassword.c_str(), spassword.length());  

fin.close();

[ 标签: C++, 写文件, 读文件 ]
[ 固定链接:http://m.tanggaowei.com/2008/05/08/69.html ]
2008-05-08 16:28:40  | 17,392 次浏览

1. lib 文件未引入。可使用“#pragma comment(lib, “winsock.lib”) ”语句添加 lib 引用,也可在项目依赖里添加。

2. 类方法的实现未加类标识。如, “CTest::Connect(void) { … }” 写成了 “Connect(void) { … }”。

3. 缺少 obj 文件。在项目里添加“包含路径”:C:\curl\lib\release-dll\*.obj。

[ 标签: 无法解析的外部符号, 项目依赖 ]
[ 固定链接:http://m.tanggaowei.com/2008/05/08/68.html ]
2008-05-08 16:27:09  | 9,194 次浏览

1. 添加编译所需要(依赖)的 lib 文件

[解决方案资源管理器]“项目->属性->配置属性->连接器->输入->附加依赖项”里填写“winsock.lib”,多个 lib 以空格隔开。
(等同于“#pragma comment(lib, “winsock.lib”) ”语句)

2. 添加库(Libs)文件目录

方法 1:[解决方案资源管理器]“项目->属性->配置属性->连接器->常规->附加库目录”
方法 2:[菜单]“工具->选项->项目和解决方案->C++ 目录”,选择对应平台,然后添加所需“库文件”目录

3. 添加包含(include)文件目录

方法 1:[解决方案资源管理器]“项目->属性->配置属性->C/C++->常规->附加包含目录”
方法 2:[菜单]“工具->选项->项目和解决方案->C++ 目录”,选择对应平台,然后添加所需“包括文件”目录

[ 标签: VS2005, 项目依赖 ]
[ 固定链接:http://m.tanggaowei.com/2008/05/08/67.html ]
2008-05-08 16:25:49  | 7,293 次浏览

SHMENUBARINFO mbi;

memset(&mbi, 0, sizeof(SHMENUBARINFO));
mbi.cbSize     = sizeof(SHMENUBARINFO);
mbi.hwndParent = hWnd;
mbi.nToolBarId = IDR_MENU;
mbi.hInstRes   = g_hInst;
mbi.dwFlags |= SHCMBF_HMENU;    // 重点要添加的代码

注:给 ID 为 IDM_QUIT 的子菜单添加执行代码:

    case IDM_QUIT:
        AfxMessageBox ( _T(“Quit” ), MB_ICONINFORMATION );
        break;

[ 标签: 添加资源菜单 ]
[ 固定链接:http://m.tanggaowei.com/2008/05/08/66.html ]
2008-05-08 16:24:38  | 7,477 次浏览

———————————————————————————-
添加 nmake -> link 的 lib 路径
———————————————————————————-
EX_LIBS=”D:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Lib\Armv4i\*.lib”

———————————————————————————-
fopen 在 coredll.dll 中已经定义
———————————————————————————-
调换 dll 的加载顺序:

EX_LIBS=”D:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Lib\Armv4i\*.lib” $(WCECOMPAT)/lib/wcecompatex.lib

改为:

EX_LIBS=$(WCECOMPAT)/lib/wcecompatex.lib “D:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Lib\Armv4i\*.lib”

———————————————————————————-
编译 openssl 时找不到 windows.h 文件
———————————————————————————-
在ce.mak文件的CFLAG项添加:-I”D:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Include\Armv4i

———————————————————————————-
造成最简单的 curl
———————————————————————————-
set CFG=release-dll
nmake -f Makefile.vc8
(用 set CFG=release-dll 找不到结果文件,但编译还是成功的)

———————————————————————————-
在WINCE下编译openssl
———————————————————————————-
INSTALL.WCE 里写最后用 vc++ 环境编译,我用 eVC 才编译通过

———————————————————————————-
在 vs2005 下编译 cURL
———————————————————————————-
编译Release版本。
set CFG=release-dll-ssl-dll-zlib-dll
set OPENSSL_PATH=C:/openssl
set ZLIB_PATH=C:/zlib/include
nmake -f Makefile.vc8
其输出:libcurl_imp.lib, libcurl.dll
无法打开输入文件“zdll.lib”,可将“zdll.lib”复制到可以找到的地方
如果需要编译其他版本,可查看设定相应的CFG 参数即可。

[ 标签: curl ]
[ 固定链接:http://m.tanggaowei.com/2008/05/08/65.html ]

简介

随时随地(路上、车上、排队等)都可以进行交流、娱乐、学习、工作——移动新世界!

订阅

 

手机访问

http://m.tanggaowei.com/wap/
查找文章: