導航:首頁 > 源碼編譯 > 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讀取網頁源碼相關的資料

熱點內容
單片機模擬器圖片大全 瀏覽:953
mac壓縮pdf大小 瀏覽:706
蘋果新手機激活無法連接伺服器地址 瀏覽:330
dvd遙控編程器 瀏覽:926
阿里雲的雲伺服器在哪裡下載 瀏覽:442
linuxphpcpu 瀏覽:532
單片機交通信號燈課程設計 瀏覽:384
linuxusb識別u盤 瀏覽:391
找對象app名稱是什麼 瀏覽:162
為什麼選擇童程童美學習編程 瀏覽:742
db2runstats命令 瀏覽:849
matlab怎麼用遺傳演算法 瀏覽:809
程序員喜歡黑色背景 瀏覽:590
音頻信號需要什麼樣的單片機 瀏覽:676
剪力牆牆柱箍筋是否需要加密 瀏覽:165
如何查看伺服器上埠是否打開 瀏覽:298
目前流行編程語言 瀏覽:458
騰訊雲伺服器免流嗎 瀏覽:850
c命令行解析 瀏覽:788
解壓轉移注意力最好的辦法 瀏覽:916