我是C++的新手,無法爲函數的char *賦值。我有一個函數如下返回布爾bool函數的返回值和傳遞的指針作爲參數
bool Function(char* inString)
{
int m = strlen(inString);
char output[1001];
memset(output , 0 , sizeof(output));
sprintf_s(output,50,"length is %d",m);
if(m>5)
return true;
if(m<5)
return false;
}
隨着功能,我試圖讓調用這個函數之外定義該功能具有價值內部本地「輸出」價值 - 「長 - 」
我試着做
bool Function(char* inString)
{
int m = strlen(inString);
char output[1001];
memset(output , 0 , sizeof(output));
sprintf_s(output,50,"length is %d",m);
sprintf_s(inString,50,output);
if(m>5)
return true;
if(m<5)
return false;
}
但這種失敗,因爲inString早已值,這是給下面的錯誤 訪問衝突寫入位置0x00165267。
有沒有什麼辦法從這個函數(基於字符串長度的bool值)以及b)字符串語句「輸出」獲取這兩個參數?
我很感謝你的幫助..
如果'm == 5'?您的功能不包括所有可能性的退貨。 –
m == 5顯然沒有找到文件:http://thedailywtf.com/Articles/What_Is_Truth_0x3f_.aspx –
如果是C++,請避免C字符串和(通常)指針。 – Roddy