Time of Update: 2018-12-06
public void Download() { Response.Clear(); Response.ClearHeaders();//讀取資料內容或者從檔案讀取或者資料庫 String strD = "這是測試的內容";//檔案 StreamReader sr = new StreamReader("C:/object.txt",Encoding.Default);string o =
Time of Update: 2018-12-06
估計可能出現的問題就是中文的編碼問題了。<div id="chartdiv"></div> <script>var myChart = new FusionCharts("../Scripts/MSLine.swf", "myChartId", "800", "300"); myChart.setDataURL("<%=Url.Action("Xml","Home") %>");
Time of Update: 2018-12-06
用c#寫入xml的方法如下: View Code #region "產生XML"// 建立一個表示所要產生的XML檔案路徑的字串。如果該路徑指向NTFS分區,則需要相關的存取權限。 fileName = "testHisMon.xml";// 建立一個寫入XML資料的檔案流 FileStream myFileStream = new FileStream(fileName,
Time of Update: 2018-12-06
volatile在英語的意思是:揮發性的, 不穩定的, 易變的. 在編程中不是是很容易被理解的它, 加上平常很少被用到, 再加上它更多地被用於硬體編程方面, 所以就更加讓一些人琢磨不透了. 總之, 作為一個變數類型修飾符, volatile的作用就是被設計用來修飾被不同線程訪問和修改的變數. 在原子操作中同樣會用到. 如果沒有它, 很有可能使得編程寫的多線程程式出現不可預期的錯誤, 也可能因為編譯器的各種最佳化而導致編譯後的結果表達了不同的意思, 使得程式出現難以發現的錯誤.
Time of Update: 2018-12-06
我寫的串口調試助手程式以及原始碼. 主程式(版本:1.12):http://share.weiyun.com/d4449cbb18c8d77e938d14450c9908a2 原始碼(版本:1.12):http://share.weiyun.com/5aa171d9adb7de66273dd4c2b6d443d2 此1.12版本為過渡版本, 正在寫串口過濾(串口監控)部分,才寫一部分(目前的版本不可用). 當前修改內容見下面更新. 我整理了程式的原始碼, 比原來更好管理, 更好閱讀.
Time of Update: 2018-12-06
#include <windows.h>#include <stdio.h>#include <stdlib.h>int runcmd( char* lpCmd ){char buf[2048] = {0}; //緩衝區 DWORD len; HANDLE hRead, hWrite; // 管道讀寫控制代碼 STARTUPINFO si; PROCESS_INFORMATION pi;
Time of Update: 2018-12-06
char* Trim(char* lpStr){if(lpStr == NULL) //如果為空白則返回NULL return NULL;char tmp[0x200] = {0}; //臨時儲存 strcpy(tmp, lpStr);char* ptr = tmp; ptr = tmp + strlen(tmp) - 1; //定位到最後一個字元 while(*ptr == 0x20) //從最後開始刪除 { ptr-
Time of Update: 2018-12-06
最近此書出了第三版,在閱讀此書線程部分的過程中有很多心得,補充了此前知識盲點,因此把這些關鍵和重要的知識點彙集成日誌文章並且納入到這個系列中。順便說一下,筆者喜歡這本書的原因是作者作為微軟顧問並沒有按照MSDN的教條教大家怎麼去用而是能說出很多自己的觀點甚至很多是微軟.NET架構不夠的地方,並給出自己的實現。 為什麼說線程是比較昂貴的?1)
Time of Update: 2018-12-06
線程同步的問題1) 我們必須找到代碼中所有可能被多個線程同時訪問的資源,然後使用線程同步來保護資源,並且我們沒有辦法來驗證是不是正確進行了線程同步,包括是否有遺漏和是否對不需要同步的資源進行同步。2) 線程同步是有損效能的,如果某個操作大量執行,並且這個操作原先的執行時間非常短,那麼如果我們對這段操作前後進行鎖的申請和釋放的話效能可能下降一個數量級。3) 線程同步可能導致更頻繁的線程建立和內容相關的切換。當然,只有在下面的情況下才需要線程同步,換句話說我們盡量不要使用下面的方案來導致線程同步:1
Time of Update: 2018-12-06
#include <stdio.h>#include <stdlib.h>int findsub(char* src, char* s){char *ptr=src, *p=s; //定義兩個指標 char *ptr2=src+strlen(src), *prev=NULL; //ptr2為src的末位置指標 int len=strlen(s), n=0; //子串的長度和計數器 for(;*ptr;ptr++) /
Time of Update: 2018-12-06
#include <stdio.h>#include <urlmon.h>#pragma comment (lib, "urlmon.lib")HRESULT ( STDMETHODCALLTYPE QueryInterface )( IBindStatusCallback * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppvObject){ return
Time of Update: 2018-12-06
/* string.h -> strcpy */char* /* 返回目標字元數組地址 */my_strcpy( char* dst, /* 目標字元數組 */ const char* src /* 源字元數組 */){ char* ptr = dst; /* 指向目標字元數組, 以使函數能返回目標地址 */ while(*ptr++ = *src++) /* 直到為 \0 才停止複製 */ ; return dst;
Time of Update: 2018-12-06
自己也說不出理由為什麼不用Windows提供的一系列ini檔案操作函數, 比如 GetPrivateProfileString, ... 寫得很簡單, 但目前來說能滿足我小小的要求. 依然, 原始碼:#include <stdio.h>int main(void){ FILE* fpcfg = NULL; char var[128], val[128]; char linebuf[512]; char* ptr1 = NULL;
Time of Update: 2018-12-06
/* strchr *//* 該函數用來尋找一個字串中某個字元第一次出現的位置 *//* 如果找到:返回絕對位址. 沒有找到:返回NULL */char* /* 返回字串第一次出現的絕對位置 */my_strchr( const char* src, /* 被尋找的字串 */ char ch /* 需要尋找的字元 */ ){ while(*src != ch) /* 從第一個字元開始測試, 如果不相等就返回NULL */ { if(*
Time of Update: 2018-12-06
//女孩不哭(QQ:191035066)@2011-11-24 10:57 #include <stdio.h>int main(void){int i, j;int a[10][10]; //這裡我覺得有點浪費空間 for(i=0;i<=9;i++) //周圍的先賦值 a[i][i]=a[i][0]=1;for(i=2;i<=9;i++) //內部賦值 for(j=1;j<i;j++) a[i][j]
Time of Update: 2018-12-06
以前發現可變參數我用得並不多, 不過最近卻發現它帶來了很多方便....以下是C語言範例程式碼:#include <stdio.h>#include <stdarg.h>int print(char* fmt, ...){ char buffer[1024] = {0}; va_list va; va_start(va, fmt); vsnprintf(buffer, sizeof(buffer), fmt, va); va_end(va);
Time of Update: 2018-12-06
以下程式碼片段實現反轉/逆序一個ANSI字串(也就是說不包含中文等字元),要求參數指向的字串是可修改的字串, 也就是說不能是常量字串, 要是數組定義的: char* str = "12345"; //不行 char str[] = {"12345"}; //行 char str[] = {"12345女孩不哭"}; //不行#include <stdio.h>#include <string.h>char*
Time of Update: 2018-12-06
VB6.0為了提供命令列參數的支援,提供了Command()介面,於是通過 Command() 函數可以得到所有傳入的參數,但是很不友好的是,VB的所有參數都被合在了一起,成為了一個字串,當有多個參數時,要想使用就不那麼方便了,於是,於是就有了下面的代碼,代碼我不記得是來自哪裡了,如果你是文章的作者,請通知我一下.@@Option ExplicitPrivate Declare Function GetCommandLineW Lib "kernel32" () As
Time of Update: 2018-12-06
C語言中的運算子說明運算子結合性初等運算子() [] -> . ->單目運算子! ~ ++ -- - (類型) * & sizeof<-算術運算子* / %->算術運算子+ -->移位元運算符<< >>->關係運算子> >= < <=->關係運算子== !=->按位與&->按位異或^->按位或|->邏輯與&&->邏輯或||->條件運算子?:
Time of Update: 2018-12-06
說明:本說明文檔屬作者從接觸 SQLite 開始認識的 API 函數的使用方法, 由本人翻譯, 不斷更新./* 2012-05-25 */int sqlite3_open( const char* filename, /* 資料庫檔案名, 必須為 UTF-8 格式 */ sqlite3** ppDB /* 輸出: SQLite 資料庫控制代碼 */);說明: 該函數開啟由 filename 指定的資料庫, 一個資料庫連接控制代碼由 *ppDB 返回(