hur.cn - 华软网

 热门搜索

Cstring中的数据内容转换为char数组(有条件的)

  作者:未知    来源:网络    更新时间:2011/8/20
char m_a[512];
CString d="";
d.Format("%2.2X",m_a[i]&0x000000ff);
(GetDlgItem(i))->SetWindowText(CString(d));
d="";

如果现在我有Cstring d的值,怎么得出 m_a;
---华软 网友回答---

CString d="eaf";
char m_a[512]={0};
strcpy(&m_a[0],d.GetBuffer(0));
---华软网友回复---
引用楼主 hazellove 的回复:
char m_a[512];
CString d="";
d.Format("%2.2X",m_a[i]&0x000000ff);
(GetDlgItem(i))->SetWindowText(CString(d));
d="";

如果现在我有Cstring d的值,怎么得出 m_a;


// 几个疑问
// 1、m_a[i] & 0x000000ff == ma[i]
// 2、'%2.2X',16进制数没有小数点,效果应该就等于 '%2X'
// 3、lz想要什么样的效果?
---华软网友回复---
2楼没看清题意!

3楼  第一个疑问说实话我还真不清楚,m_a保存的是从bin文件中读取的数据。代码如下
CString g="";  int i=0;
GetDlgItemText(IDC_EDIT_FILE,g);//将获得的地址写入到g
FILE *fp1; 
char ch; 
ch=fgetc(fp1); 
for(i=0;i<256;i++) 

putchar(ch); 
m_a[i]=ch;
ch=fgetc(fp1);

     第二个疑问:是我的手误对不起哈!

     第三个疑问:我将读取的信息切割,在对应的EDIT框里显示!现在想从EDIT框里获取数据,重新保存到文件。比如edit1框里是00 edit2框里是FF 我保存后,文件都是CC!所以想将获取的数据重新转换为m_a的格式。
    如果大侠有其他方法也可以推荐下!


---华软网友回复---
说错了!是1楼2楼
---华软网友回复---
C++">for(int i = 0; i < xx; i++)
{
// 如果能保证edit里面的数值都不会大于255,则可以这样
     m_a[i] = (BYTE)GetDlgItemInt(i);
}

---华软网友回复---
C++">// 上面的错了。
CString str;
for(int i = 0; i < xx; i++)
{
// 如果能保证edit里面的数值都不会大于255,则可以这样
    str  = GetDlgItemText(i);
    m_a[i] = strtol(str, NULL, 16);    
}
     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。