-3
我在這裏構建webcrawler。我開始調試時發生此錯誤,並將我發送到memcpy.asm
或xstring
或dbgdel.cpp
文件,每次顯示這些文件的不同行。C++訪問衝突寫入位置0x000A000B
我想知道代碼是否錯了。我開始想我正在訪問我不應該使用的內存塊。這是一些代碼。我希望你能幫忙。
這個想法是遍歷httpContent
並從<a>
標籤獲得所有的URL。我在開始尋找href="
,然後尋找下一個"
。我在嘗試輸入temp
之間的內容,然後將temp
的內容傳遞給一個字符串數組。
struct Url
{
string host;
string path;
};
int main(){
struct Url website;
string href[100];
website.host = "crawlertest.cs.tu-varna.bg";
website.path = "";
string httpContent = downloadHTTP(website);
for(unsigned int i = 0; i <= httpContent.length()-7; i++){
char c = httpContent[i];
if(c == 'h'){
c = httpContent[i+1];
if(c == 'r'){
c = httpContent[i+2];
if(c == 'e'){
c = httpContent[i+3];
if(c == 'f'){
c = httpContent[i+4];
if(c == '='){
c = httpContent[i+5];
if(c == '\"'){
i+=6;
c = httpContent[i];
string temp = "";
while(c!='\"'){
i++;
c = httpContent[i];
temp+= c;
}
href[i] = temp;
temp = "";
cout<<href[i]<<endl;
}}}}}}
}
system("pause");
return 0;
}
UPDATE
我編輯了=
,現在==
我也停止迭代7位早先所以「如果公司不應該是問題。
雖然我收到相同的錯誤。
你即使那些嚴重'如果公司使用'='的'而不是'== –
您的所有'INT I = 0;我<= httpContent.length()'好吧,這可能不是很好,因爲'httpContent [i]'將在最後一次迭代中超出範圍....'c = httpContent [i + 5];',嗯 – NathanOliver
if's – AndyG