導航:首頁 > 源碼編譯 > c讀取網頁源碼

c讀取網頁源碼

發布時間:2024-12-30 12:35:50

Ⅰ 求標准C語言讀寫文件的源代碼

C語言讀寫文件 都是三個步驟

1.獲取文件描述符

2.對文件讀寫

3.關閉文件

對文件讀操作

//獲取文件指針
FILE*pFile=fopen("1.txt","w");//文件打開方式如果原來有內容也會銷毀//向文件寫數據
fwrite("hello",//要輸入的文字
1,//文字每一項的大小以為這里是字元型的就設置為1如果是漢字就設置為4
strlog("hello"),//單元個數我們也可以直接寫5
pFile//我們剛剛獲得到的地址
);
//fclose(pFile);//告訴系統我們文件寫完了數據更新,但是我們要要重新打開才能在寫
fflush(pFile);//數據刷新數據立即更新

對文件寫操作

FILE*pFile=fopen("1.txt","r");//獲取文件的指針
char*pBuf;//定義文件指針
fseek(pFile,0,SEEK_END);//把指針移動到文件的結尾,獲取文件長度
intlen=ftell(pFile);//獲取文件長度
pBuf=newchar[len+1];//定義數組長度
rewind(pFile);//把指針移動到文件開頭因為我們一開始把指針移動到結尾,如果不移動回來會出錯
fread(pBuf,1,len,pFile);//讀文件
pBuf[len]=0;//把讀到的文件最後一位寫為0要不然系統會一直尋找到0後才結束
MessageBox(pBuf);//顯示讀到的數據
fclose(pFile);//關閉文件

Ⅱ c++如何獲取網頁內容,要控制台程序就行;越簡單越好;就範例輸出百度的源碼吧!謝了急用!

我有,是MFC工程,留郵箱我發給你
關鍵代碼在這里

void CGetPublicIPDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting

SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;

// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}

// The system calls this to obtain the cursor to display while the user drags
// the minimized window.
HCURSOR CGetPublicIPDlg::OnQueryDragIcon()
{
return (HCURSOR) m_hIcon;
}

BOOL CGetPublicIPDlg::GetFromWeb(LPSTR pURL, LPSTR SaveAsFilePath)
{

CInternetSession session; //會話期對象)

CHttpConnection* pServer = NULL; //指向伺服器地址(URL)

CHttpFile * pHttpFile = NULL;

CString strServerName; //伺服器名

CString strObject; //查詢對象名(http文件)

INTERNET_PORT nPort; //埠

DWORD dwServiceType; //服務類型

DWORD dwHttpRequestFlags = //請求標志

//INTERNET_FLAG_EXISTING_CONNECT

INTERNET_FLAG_NO_AUTO_REDIRECT;

const TCHAR szHeaders[] = _T("Accept:text/*\r\nUser-Agent:Client\r\n");

BOOL OK=AfxParseURL( //詞法分析

pURL, //被分析URL串

dwServiceType, //服務類型,ftp,http等

strServerName, //伺服器名

strObject, //URL中被查詢對象

nPort ); //URL指定的埠,可能為空

OK=OK && //本例只考慮http協議

(dwServiceType ==

INTERNET_SERVICE_HTTP);

if (!OK)

{ AfxMessageBox("URL出錯"); //報錯

return false;

}

pServer = session.GetHttpConnection(strServerName, nPort); //獲得伺服器名

pHttpFile = pServer-> OpenRequest( CHttpConnection::HTTP_VERB_GET,strObject, NULL, 1, NULL, NULL,dwHttpRequestFlags);

//向伺服器發送請求,建立http連接,

//建立本機上的http文件指針

pHttpFile->AddRequestHeaders(szHeaders);

pHttpFile->SendRequest(); //發送請求

CStdioFile f; //輸出文件對象

if( !f.Open( //打開輸出文件

SaveAsFilePath, CFile::modeCreate | CFile::modeReadWrite | CFile::typeText ) )

{
MessageBox( "Unable to open file");

return false;

}

//下面將檢索結果保存到文件上

TCHAR szBuf[1024]; //緩存

while (pHttpFile->ReadString(szBuf, 1023))

f.WriteString( szBuf );

f.Close(); //善後工作

pHttpFile ->Close();

pServer ->Close();

if (pHttpFile != NULL) delete pHttpFile;

if (pServer != NULL) delete pServer;

session.Close();
/* while (f.ReadString( szBuf, 1023 ))

pHttpFile->WriteString(_T("123"));

f.Close(); //善後工作

pHttpFile ->Close();

pServer ->Close();

if (pHttpFile != NULL) delete pHttpFile;

if (pServer != NULL) delete pServer;

session.Close(); */

return true;

}

void CGetPublicIPDlg::OnOK()
{
// TODO: Add extra validation here
GetFromWeb("http://www..com","d:\\ip.txt");
CDialog::OnOK();
}

閱讀全文

與c讀取網頁源碼相關的資料

熱點內容
php按鈕點擊事件 瀏覽:934
河南伺服器機房售後服務雲主機 瀏覽:184
android仿聯系人 瀏覽:368
什麼app軟體可以學音標 瀏覽:669
郭天祥十天學會單片機優酷 瀏覽:330
什麼app兒童免費 瀏覽:582
遺傳演算法的理解 瀏覽:800
php刪除sql 瀏覽:841
紅進藍出指標源碼 瀏覽:700
python數據轉換列表類型 瀏覽:717
解壓後的文件怎麼解開 瀏覽:175
四川補貼認證下載什麼app 瀏覽:858
android設計風格 瀏覽:426
視頻不支持我的加密 瀏覽:342
布包pdf 瀏覽:267
程序員錄制課程表 瀏覽:626
eclipsephp斷點調試 瀏覽:895
虛擬成交量指標源碼 瀏覽:838
什麼APP有背單詞小組 瀏覽:43
蘋果2g視頻怎麼加密 瀏覽:204