第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

為什么for(int i=0;i <1000;i++)提示內(nèi)存不足?

為什么for(int i=0;i <1000;i++)提示內(nèi)存不足?

C++
狐的傳說 2023-03-08 19:15:46
代碼如下: 頭文件中結(jié)構(gòu)體如下: struct ListInfo { // int id; //ID號(hào) char* protocol; //協(xié)議類型 char* s_ip_port; //源IP地址和端口 char* d_ip_port; //目的IP地址和端口 int length; //長度 char* elseInfo; //其他信息 }; 函數(shù)定義如下: void CTestMemoryMFCDlg::OnBtnTest() { // TODO: Add your control notification handler code here CString strInfo; char ch[2]; ListInfo* Info=new ListInfo; for(int i=0;i <1000;i++) { Info->d_ip_port="12345"; Info->elseInfo="else"; Info->length=12; Info->protocol="tcp"; Info->s_ip_port="54321"; itoa(i+1,ch,10);//數(shù)字轉(zhuǎn)換成字符串 m_InfoList.InsertItem(i,ch); strInfo.Format("%s",Info->protocol); m_InfoList.SetItemText(i,1,strInfo); strInfo.Format("%s",Info->s_ip_port); m_InfoList.SetItemText(i,2,strInfo); strInfo.Format("%s",Info->d_ip_port); m_InfoList.SetItemText(i,3,strInfo); strInfo.Format("%d",Info->length); m_InfoList.SetItemText(i,4,strInfo); strInfo.Format("%s",Info->elseInfo); m_InfoList.SetItemText(i,5,strInfo); } delete Info; } for(int i=0;i <1000;i++)時(shí)提示內(nèi)存不足.而為for(int i=0;i <999;i++)時(shí)就沒錯(cuò)... 很郁悶...請(qǐng)高手幫忙
查看完整描述

1 回答

?
交互式愛情

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊

你在
char ch[2];
這一句中為項(xiàng)目編號(hào)字符串分配的數(shù)組空間太小了,事件上它只能容納個(gè)位數(shù)。
雖然往里面放一個(gè)三位數(shù)(如999)也沒有報(bào)錯(cuò),但實(shí)際上你的程序的堆棧已經(jīng)被破壞了。當(dāng)往里面放一個(gè)四位數(shù)時(shí),程序終于報(bào)錯(cuò)了。
把char ch[2];改成char ch[10];就可以了。
或者不用itoa函數(shù),把
itoa(i+1,ch,10);//數(shù)字轉(zhuǎn)換成字符串 
m_InfoList.InsertItem(i,ch); 
改成
strInfo.Format("%d",i+1);
m_InfoList.InsertItem(i,strInfo);
也可以

查看完整回答
反對(duì) 回復(fù) 2023-03-10
  • 1 回答
  • 0 關(guān)注
  • 123 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)