Time of Update: 2018-07-31
1. 背景 在java中,jvm支援類的動態連結(Class.forName(String className)),用起來也很方便。動態連結是實現IOC(Inversion of Control,控制反轉,更形象的稱作依賴注入)的關鍵,用於將類間依賴從程式移到設定檔中。在架構不重新編譯的情況下,替換被依賴的類。 在linux下,C++只能通過C的dl
Time of Update: 2018-07-31
private Point downPoint; private Rectangle downRectangle; private Rectangle lastRectangle; private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
Time of Update: 2018-07-31
一、IF結構 if(chinese==100 && music>70) { Console.WriteLine("優秀"); } Console.ReadKey(); if (score >= 90) { str="A";
Time of Update: 2018-07-31
開發上位機程式,有時需要使用者對已知條件的邏輯進行編輯,然後程式判斷邏輯的真假。比如你已經知道了AA,BB,CC,DD,EE,FF六個條件的真假,但是這六個條件之間的邏輯需要使用者自行填寫,那麼如何在使用者填寫之後自動判斷這個運算式最終結果呢。 我們先從一個比較簡單的運算式入手,比如現在只有AA,BB,CC三個條件,AA&&BB||CC對應Bool值為{ true, false, true
Time of Update: 2018-07-31
簡單的產生0~100隨機數的代碼如下: #include<stdio.h>#include<time.h>void main(){ int i=0,j=0; int p; srand(time(NULL));//產生時間種子 p=rand()%100+1;//產生隨機數 printf("%d\t",p); printf("\n");}
Time of Update: 2018-07-31
第一件事建議大家少用gets函數。 我遇到的這個問題實在是C語言新手比較容易遇到的一個問題。是關於get()和getchar()這兩個函數的。大家都知道,gets()函數作用是輸入字串,而getchar()是輸入單個字元。但在一個小程式中,我發現了它們兩個一些別的用法。 因為源檔案的代碼很長,所以只打上源檔案中涉及到這個問題的一個函數: void
Time of Update: 2018-07-31
題目:有N個人,從1到N編號,按照編號順序圍成一圈。從第一個人開始報數(從1報到3),凡報到3的人退出圈子。問:最後留下的人的編號是幾號。==============================這是百度知道中,很常見的題目,多數都有了正確答案。如:http://zhidao.baidu.com/question/95065794.htmlhttp://zhidao.baidu.com/question/211023828.htmlhttp://zhidao.baidu.com/questio
Time of Update: 2018-07-31
一、問題概述 用C語言實現一個簡易計算機,可以用來實現加減乘除的功能 名詞解釋: 函數指標:一個指標,用於指向一個函數 函數指標數組:是一個數組,裡面存放多個函數指標 回呼函數:一個函數,若參數中有函數指標,那麼這個函數便是回呼函數 二、問題分析 這個問題大可用switch,case語句實現 但是這裡我們用一種比較高大上的方法 利用函數指標數組 以及回呼函數 思路:
Time of Update: 2018-07-31
二級指標和三級指標作為形參的具體應用: 二級指標作為形參時,記憶體配置在函數外進行。函數內只需要進行相關操作;三級指標作為形參時,可以在函數內分配空間。 三級指標作為形參代碼: int skinDetect(unsigned char *frame, int _width, int _height, Rect*** ppp_rect ,int *skin_size){int width = _width;int height =
Time of Update: 2018-07-31
Josephus問題的一個C語言程式 問題描述: n個人圍坐一圈,從第一個人開始報數“1,2,3,4….m,數到m的人出局,然後下一個人從1開始繼續,這樣直到最後一個人為勝利者,輸出勝利者是第幾個人。 函數功能: 功能:josep函數,輸入成員數n和停止數m,返回最後留下的人的編號。 代碼: 以下代碼在VS2012平台建立: #include<stdio.h>#include<stdlib.h>int josep( int , int
Time of Update: 2018-07-31
記錄一下,讀取.ini設定檔的方法。 實際中,一般先獲得當前程式所在路徑(或者放在特定的設定檔目錄) GetModuleFileName 解釋下這句:strrchr(cfgpath, '\\')[0] = '\0'; strrchr(cfgpath, '\\')返迴路徑中'\'最後出現的位置,strrchr(cfgpath, '\\')[0]則把該位置改為'\0'。之後strcat後,就得到了設定檔的絕對位址。
Time of Update: 2018-07-31
樹結構 樹是一種重要的非線性資料結構,直觀地看,它是資料元素(在樹中稱為結點)按分支關係組織起來的結構,很象自然界中的樹那樣。
Time of Update: 2018-07-31
引言 自從Dennis M.Ritchie於1973年設計並實現C語言以來,電腦程式設計領域已經發生了巨大的變化。以C語言為根基的C++、Java和C#等物件導向語言相繼誕生,並在各自領域大獲成功。今天,C及其後裔幾乎統治了電腦程式設計世界。可以這麼說,C語言的誕生是現代程式語言革命的起點,它改變了程式設計語言發展的軌跡,是程式設計語言發展史中的一個裡程碑。
Time of Update: 2018-07-31
比較簡單的Generic Makefile for C/C++ Program 參考網上資料寫的一個簡單的能夠編譯C/C++混合工程的Makefile【網上大多通用Makefile很長且未有解釋,故寫此文檔】 暫未遇到問題,本人不甚精通,檔案未經實際使用錘鍊,如有問題請聯絡:liyanbin0027@163.com 牆裂歡迎指正與交流。 本Makefie需要讀者有一定的Makefile基礎知識
Time of Update: 2018-07-31
C標準庫中<stdarg.h>標頭檔中包含可變參數列表的實現,完成遍曆未知數目和類型的函數參數列表的功能。提供以下3個宏以及va_list變數: va_start(va_list ap, lastarg):在提取可變參數前必須調用這個宏實現初始化。
Time of Update: 2018-07-31
在我們寫的程式當中,總有一些配置資訊需要儲存下來,以便完成程式的功能,最簡單的辦法就是將這些資訊寫入INI檔案中,程式初始化時再讀入.具體應用如下: 一.將資訊寫入.INI檔案中. 1.所用的WINAPI函數原型為: BOOL WritePrivateProfileString( LPCTSTR lpAppName, LPCTSTR lpKeyName, LPCTSTR lpString,
Time of Update: 2018-07-31
之前遇到字串分割的需求時,都是自己去實現,最近發現其實c標準庫已經提供了這個功能。對標準庫還是不熟悉啊,導致重複造車輪了,有必要把標準庫看一下。。。 先看一下之前自己實現的字串分割函數: void strsplit(const char *str, char *delim, void (*visitor)(const char *, int, int)){
Time of Update: 2018-07-31
通過C#擷取Linux某一個檔案夾下面的所有檔案的名稱,從現有的工具WinSCP , SecureCRT來看,實現肯定是可以實現的,通過一番折騰之後下載SharpSSH 源碼(地址為:https://sourceforge.net/projects/sharpssh/)進行查看。發現源碼中的SshTransferProtocolBase.cs類中已經存在抽象方法 publicabstractArrayList GetFileList(string
Time of Update: 2018-07-31
在.NET Framework 2.0中提供了SerialPort類,該類主要實現串口資料通訊等。本文章將本人在學習過程中從網路上搜集到的相關資訊寫出來供大家參考。 下面主要介紹該類的主要屬性(表1)和方法(表.2)。 如果需要瞭解更多的資訊請登入http://msdn.microsoft.com/zh-cn/library/system.io.ports.serialport(VS.80).aspx查看。 相關文章 《使用System.IO.Ports讀取COM口資料》
Time of Update: 2018-07-31
今天遇到一個奇怪的現象, 同一個程式在一台機器上運行能捕獲代碼拋出的c++異常, 在另外一台機器上無法捕獲異常直接abort出來, 堆棧如下: #0 0xf77c6430 in __kernel_vsyscall () #1 0x002b6df0 in raise () from /lib/libc.so.6 #2 0x002b8701 in abort () from /lib/libc.so.6 #3 0x00615acc in