實在搞不懂C++,這個例子怎么做!
char* _stdcall stringCombo(char* str1, char* str2)
{
char* str3= "upstring=";
char* str4 = "&upFullFileName=";
char combo=new char[]
sprintf_s(combo, sizeof(combo) , "%s, %s,%s,%s", str1 , str2,str3,str4);
return combo
}
//combo需要把str1,str2,str3,str4拼接起來,請問怎么弄?
自己寫的例子不行,請問怎么做,C++MFC用的VS2015
uj5u.com熱心網友回復:
應該有人會哦。uj5u.com熱心網友回復:
樓主,下面代碼可供參考~~~~
char* _stdcall stringCombo(char* str1, char* str2)
{
char* str3 = "upstring=";
char* str4 = "&upFullFileName=";
int nLen = strlen(str3);
nLen += strlen(str4);
if (str1)
nLen += strlen(str1);
if (str2)
nLen += strlen(str2);
char* combo = new char[nLen + 1];
if (combo)
{
memset(combo, 0, nLen + 1);
sprintf_s(combo, nLen + 1, "%s%s%s%s", str3, str1, str4, str2);
}
return combo;
}
int main()
{
char* pRetChar = stringCombo("hello", "word");
if (pRetChar)
{
printf_s(pRetChar);
delete[] pRetChar;
}
return 0;
}
uj5u.com熱心網友回復:
用snprintf。既然用了MFC工程,為什么不用Cstring或者string,它們都多載了+,字串處理很方便
uj5u.com熱心網友回復:
MFC里面用CString處理字串鏈接問題很方便的,方法都已近多載好了,只需要呼叫一下即可uj5u.com熱心網友回復:
兄弟666
uj5u.com熱心網友回復:
引入CString 更加方便CString stringCombo(const &CString str1, const &CString str2)
{
CString str3 = "upstring=";
CString str4 = "&upFullFileName=";
return str3 + str1 + str4 + str2;
}
int main()
{
CString pRetChar = stringCombo("hello", "word");
TRACE(pRetChar);
return 0;
}
uj5u.com熱心網友回復:
2樓正解,new char[]這種東西,你程式會崩潰的,如果你不特定要求char*格式的話,用cstring更方便,可以直接加uj5u.com熱心網友回復:
MFC的話就用CString類啊CString _stdcall stringCombo(CString* str1, CString* str2)
{
CString str3= "upstring=";
CString str4 = "&upFullFileName=";
CString combo = str3+ str1+ str4+ str2;
return combo;
}
uj5u.com熱心網友回復:
CString 類更簡單快捷 直接 += 操作即可CString Str,Str1,Str2,Str3,Str4;
Str += (Str1 + Str2 + Str3 + Str4);
uj5u.com熱心網友回復:
char* _stdcall stringCombo(char* str1, char* str2)
{
char* str3= "upstring=";
char* str4 = "&upFullFileName=";
int L=0;
char combo=new char[1024]; //使用一個大點的緩沖區,以確保夠用
char* px=combo;
L=strlen(str3);
memcpy(px,str3,L);
px+=L;
L=strlen(str1);
memcpy(px,str1,L);
px[L]=";";//分隔一下
px++;
L=strlen(str4);
memcpy(px,str4,L);
px+=L;
L=strlen(str2);
memcpy(px,str2,L);
px[L]=0;
return combo
}
uj5u.com熱心網友回復:
char combo=new char[size] //size必須指定大小uj5u.com熱心網友回復:
char combo=new char[size]; //size必須指定大小并且應該是
char* combo=new char[size];
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/61012.html
標籤:界面
上一篇:CMFCMenuButton的選單如何獲取某個選單項的check狀態
下一篇:用CString出現的怪問題
