游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2234|回复: 6

memcpy()

[复制链接]

2

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2007-12-24 11:35:00 | 显示全部楼层 |阅读模式
char c[64] ="abcdefghij";
CString temp,temp1;
memcpy((PCHAR)(LPCSTR)temp,c,5);
memcpy((PCHAR)(LPCSTR)temp1,c+5,5);
MessageBox(temp);
MessageBox(temp1);

temp想要的结果是abcde;
temp1想要的结果是fghij;
可是得到是结果不是想要的,而且temp的值随着temp1改变了
我想要得到我想要的结果怎么做呀?  

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2007-12-24 13:53:00 | 显示全部楼层

Re:memcpy()

char c[64] ="abcdefghij";
CString temp,temp1;
temp.Append(c, 5);
temp1.Append(c+5, 5);

2

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2007-12-24 13:59:00 | 显示全部楼层

Re:memcpy()

我试了下,调用不了Append()这个函数哦

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2007-12-25 09:15:00 | 显示全部楼层

Re:memcpy()


  1. #include <string>

  2. void foo()
  3. {
  4.     char c[64] = "abcdefghij";

  5.     std::string temp;
  6.     std::string temp1;

  7.     temp.assign(c, 5);
  8.     temp1.assign(c+5, 5);

  9.     MessageBoxA(NULL, temp.c_str(), "msg", MB_OK);
  10.     MessageBoxA(NULL, temp1.c_str(), "msg", MB_OK);


  11.     char temp2[64];
  12.     char temp3[64];

  13.     memcpy(temp2, c, 5);
  14.     temp2[5] = '\0';
  15.     memcpy(temp3, c+5, 5);
  16.     temp3[5] = '\0';

  17.     MessageBoxA(NULL, temp2, "msg", MB_OK);
  18.     MessageBoxA(NULL, temp3, "msg", MB_OK);
  19. }

复制代码


顺便问一句,你的是MFC项目还是win32项目?

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2007-12-28 12:33:00 | 显示全部楼层

Re:memcpy()

可以看一下我最近在封装的CStr类.内部使用UC,告别乱码

2

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2007-12-29 09:21:00 | 显示全部楼层

Re: Re:memcpy()

ljm: Re:memcpy()

[code]
#include <string>

void foo()
{
    char c[64] = "abcdefghij";

    st...

是win32项目 如果要将两个string对象放到一个char数组里面怎么做呀?
std::string  a;
std::string  b;
char aa[64];

3

主题

19

帖子

21

积分

注册会员

Rank: 2

积分
21
发表于 2007-12-29 14:37:00 | 显示全部楼层

Re:memcpy()

CString转成LPCSTR,也就是const char*, 指向的内容是不变的,但你试图改变其中的内容
可以用CString::GetBuffer()  
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-18 07:28

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表