Time of Update: 2018-12-04
今天為了徹底搞定一個關於c中數組初始化和聲明不同情況下,比如只聲明一個數組char str[20];那麼這str裡面是什麼內容呢?我用vc6++,debug下看到都是-56餓asc碼,後來請教了一個華為的大牛,他說 按照理論來說裡面的內容都是有可能的,這和叫做“髒記憶體”或者叫做“野數組”。好了第一個問題搞懂了。 第二個問題
Time of Update: 2018-12-04
昨晚睡前看書的時候看到C語言裡面對變數的定義很有意思,比如auto static register extern這些關鍵字。 最感興趣的莫過於那個局部的static定義的變數。 根據書中描述局部static的變數 等價於 全域的非靜態變數。一般我們知道全域的變數在函數結束後再次調用的時候就會改變的,但是局部的靜態變數 總覺得這樣來很BT。經過驗證的確是這樣的效果。 看代碼:先來個局部的靜態變數 #include <stdio.h>int main(){int
Time of Update: 2018-12-04
對野指標的一些認識: 我對野指標的認識,我覺得野指標就是一個指標變數它裡面的值是不確定的,這樣當你操作這個變數所指定的記憶體位址的時候,就會帶來一些不確定的因素,拿一個比較常見的問題來舉個例子來說明一下:看下面代碼: int a = 10;int *p;*p = a; 1. 當執行完第一句話的時候,記憶體映像如下(方框表示記憶體塊,方框內容表示對應的記憶體塊的值) a [10] 2. 當執行完第二句話的時候,假設記憶體映像如下 p [1000] 3
Time of Update: 2018-12-04
1:類似junit的斷言,只是在assert中的斷言,如果不滿足的話就程式退出。比如#include <assert.h>int main(void){ assert(6 < 5); system("pause"); return 0;}在執行到assert(6 < 5);的時候因為不滿足斷言,於是程式退出。如果不想讓assert(6 < 5)起作用,就在最上面添加宏定義#define NDEBUG要添加在#include
Time of Update: 2018-12-04
數組賦值我總結一下吧也就三種,那char的來舉例: 定義的時候直接賦值.1:char a[20] = "Hello World!"; 2: char a[20]; strcpy(a, "Hello World!"); 3:char a[20] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!'}; 常見錯誤賦值方式: 1:char a[20]; a = "Hello
Time of Update: 2018-12-04
今天在寫到用c來解析post資料的時候需要用到一個陣列變數來放post的所有資料等著來解析,不想太浪費記憶體了。於是想著先申請一個最大威爾哦content_length大小的數組再說。但是不允許用變數來。比如 int length = atoi(getenv("CONTENT_LENGTH"));char params[length];memset(params, '/0', length); 那麼char
Time of Update: 2018-12-04
最近在做川大的複試題,遇到一個小問題。發生了詭異的事情是關於 char c;c = getchar()或者char c;scanf("%c", &c); 這2個函數都可以從控制台擷取到輸入的字元,但是,需要說明的是。 如果出現提示,你輸入了一個字元
Time of Update: 2018-12-04
<1>函式宣告最近看C語言,很迷惑,有些地方有函式宣告有些地方沒有。查了下教材,做下小結,筆抄寫一遍,網上記一遍,備忘! 有以下三種情況不用函式宣告,可以直接調用:1.被調函數傳回型別為整形或者char型,系統會自理。舉例://代碼1#include <stdio.h>int main(){int a=30;double d=4.4334;printf("a=%d",call(a));return 0;}int call(int
Time of Update: 2018-12-04
最近用C#在寫winform,之前寫java的時候在try和catch的catch中直接用日誌打出了錯誤,這樣對日誌配置好了,可以很快速找到出錯的那個語句塊,進而定位錯誤。現在用winform我在catch中用了messageBox,代碼寫過了,突然出現了個Messagebox彈出的錯誤,竟然找不到是哪個catch出錯的了。 於是趕快回來每個catch中繼續用log4net列印出來。。經過配置才看到了列印錯誤的那行。。進而定位了錯誤。 經驗:不要對catch的錯誤直接messagebox,因為這
Time of Update: 2018-12-04
早都發現這個東西有問題了。現在發現很多時候都影響到我的程式了。描述下:1:如果通過請求www.xxx.com/a/a.php得到的cookie為cookie12:如果通過請求www.xxx.com/b/b.php得到的cookie為cookie2 當我請求www.xxx.com/c/c.php的時候cookie1和cookie2並不能自動的附加上去。這是為什麼呢。因為通過查看cookie1和cookie2它們的path的值不一樣,所以弄不上去,解決辦法也有,就是當擷取到cookie的時候,首
Time of Update: 2018-12-04
c# 2.0中 子線程是不可以操作組件的,因為組件是主線程產生的,一切在主線程中顯式產生的線程都叫做子線程。方法有2中,下面給出委託的解決辦法,這個最保險: public partial class Form1 : Form { public static TextBox tb; public Form1() { InitializeComponent(); tb = this.textBox1;
Time of Update: 2018-12-04
1:在java中,父類A中又一個方法C,b extends A,如果想在B中對C覆蓋,那麼直接在B中定義個C就自動覆蓋了。2:如果在C#中,發現很麻煩。首先父類的方法必須virtual,子類覆蓋時候方法必須寫上ovriride、、using System;using System.Collections.Generic;using System.Text;namespace dynamicCreateClass{ class PostTask { public
Time of Update: 2018-12-04
今天效率需要,需要搞定一個多線程的程式,今天我用的關鍵字是Monitor.Enter(this);和Monitor.Exit(this);來說一下到底鎖的是什麼,之前對java中的同步關鍵字理解的應該還算可以,鎖的時候永遠鎖的是對象,所以也只有這些線程是在這個物件範圍內操作,並且遇到這個關鍵字才能起到同步的效果。先來一個同步起作用的例子,然後再來一個相反的例子來找個反面典型。 using System;using System.Collections.Generic;using System.
Time of Update: 2018-12-04
public static string getContent(string Url, string encode) { string strResult = ""; try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); //聲明一個HttpWebRequest請求
Time of Update: 2018-12-04
記得在剛學delphi時,第一個程式就是一個播放flash的小軟體,當時好開心. 今天,我在C#中實現了這個小程式. 播放Flash動畫的原理是引用Flash的dll.用它來播放. 現在工具箱中添加這個控制項: 1.工具箱上點滑鼠右鍵,出現菜單,選擇 "Choose Items...",在出現的視窗選擇"Com components"選項卡,選擇Shockwave Flash
Time of Update: 2018-12-04
剛剛實現了用c#來播放flash檔案,順便也實現了用c#來播放rm檔案.播放rm檔案還是要用activx控制項,在安裝realplayer後就有了.1.toolbox->滑鼠右鍵,菜單中選->Choose Items...代碼: private void Form1_Load(object sender, EventArgs e) { this.axRealAudio1.SetControls("ImageWindow,controlpanel")
Time of Update: 2018-12-04
雖然現在gui程式很多,但有時候還是需要批次程式來實現一些特殊的功能.這裡給出c#執行bat檔案的方法. private void button1_Click(object sender, EventArgs e) { openFileDialog1.Filter = "mp3 檔案 (*.mp3)|*.mp3|bat 檔案 (*.bat)|*.bat|所有檔案 (*.*)|*.*"; openFileDialog1.De
Time of Update: 2018-12-04
今天學java,裝了jdk6,用editplus配置了下環境,在看網易的視頻時,留心了下自加操作的區別.C++ 編譯器:Dev-cpp 4.9.9.2C++程式:#include<iostream>using namespace std;int main(){ int i=3; int count; count=(i++)+(i++)+(i++); cout << i << endl << count; system(
Time of Update: 2018-12-04
今天想用MFC來儲存一個網頁的原始碼,以前都是用.Net來做的。查了一些資料後,簡單的做了一個。回放:1. 建立工程VC6 -> File -> New -> MFC(exe) 建立一個基於對話方塊的程式。不需要包含windows
Time of Update: 2018-12-04
用C#讀取網頁本文地址: 發佈於 此文為翻譯: 原文地址:http://www.devtopics.com/read-a-web-page-in-c/ 在c#中可以很容易的使用system.net.webclient 類來擷取一個網頁內容: