Archive


Category: C語言的嫩咖行

  • [C++] 浮點數精度問題~四捨五入函數

    資料來自於 http://jashliao.pixnet.net/blog/post/223492566-c-c++-%E6%B5%AE%E9%BB%9E%E6%95%B8%5B%E7%B2%BE%E5%BA%A6%E5%95%8F%E9%A1%8C%5D~%E5%9B%9B%E6%8D%A8%E4%BA%94%E5%85%A5%E5%87%BD%E6%95%B8 // 四捨五入 取到 小數點第 X 位 double CLib::rounding(double num, int index) {     //https://dotblogs.com.tw/forloop/2016/07/31/rounding     bool isNegative = false; // whether is negative number or not     if(num < 0) // if this number is negative, then convert to positive number     {         isNegative = true;         num = -num;     } […]

  • [C++] Windows 純 C/C++ 使用 SOCKET 撰寫 Server [ thread(執行緒) ] / Client

    原文來自 http://jashliao.pixnet.net/blog/post/223451341   Server: #include <iostream> #include “pthread.h” #include <stdio.h> #include <string.h> #include <stdlib.h> #include <windows.h>//#include <unistd.h>//Sleep(WINDOWS) vs sleep(LINUX) #include <winsock2.h> #pragma comment(lib, “ws2_32”) using namespace std; #define MAX 20 /* LINUX C的 jash_thread 轉WINDOWS */ pthread_t thread[4]; pthread_mutex_t mut; int number; int i; void *thread1(void *p) {     printf (“thread1 : I’m thread 1\n”); […]

  • [C++] Windows 純 C/C++ 使用 pthread 函式庫實作thread(執行緒)

    原文章來自 http://jashliao.pixnet.net/blog/post/219032153 #include <iostream> #include “pthread.h” #include <stdio.h> #include <string.h> #include <stdlib.h> #include <windows.h>//#include <unistd.h>//Sleep(WINDOWS) vs sleep(LINUX) using namespace std; #define MAX 20 /* LINUX C的 jash_thread 轉WINDOWS */ pthread_t thread[4]; pthread_mutex_t mut; int number; int i; void *thread1(void *p) {     printf (“thread1 : I’m thread 1\n”);     for (i = 0; i < […]

  • BCB6(Borland C++ Builder6)中設置程式中斷點除錯方法

    資料來源: http://jashliao.pixnet.net/blog/post/220855763 資料來源: http://delphi.ktop.com.tw/board.php?cid=168&fid=912&tid=60265 資料來源: http://bbs.csdn.net/topics/30122621   01.置游標到欲設置中斷點的行,按鍵F5(取消中斷點也是F5); 02.在功能表tool -> Debugger options-> General ->左下角 “Integrated debugging”打勾 03.在功能表project->options中選Compiler頁,點Full Debug按鈕; 04.按F9 RUN下程式; 05.看看中斷點狀態 如果是勾,應該就可斷定此中斷點可以生效了;

  • [C] AES-128 coding sample

    出處 http://www.codedata.com.tw/social-coding/aes/ // 本程式由陳鍾誠將 jsaes: AES in JavaScript (作者: B. Poettering) 翻譯為 C 語言版, // 來源為 http://point-at-infinity.org/jsaes/,授權為 GNU GPL 授權。   #include <stdio.h>   #define BYTE unsigned char   void printBytes(BYTE b[], int len) {   int i;   for (i=0; i<len; i++)     printf(“%d “, b[i]);   printf(“\n”); }   /******************************************************************************/   // The following lookup tables and […]

  • [C語言] sizeof()及strlen()

    今天寫程式時卡位了,最主要是沒弄清楚sizeof()與strlen()的使用時機,後來問了jashliao,點通了我這小嫩咖,所以稍加記錄 而今天的主要情形是我使用C開檔,並寫入一段文字,儲存後離開,但去開檔看文字有寫入但後面多了一些亂碼,像是^@ 程式碼如下 #include <stdio.h> #include <string.h> int main(){ char sbuf[512]; FILE *pFile; sprintf(sbuf, “%s%s%s”, “aaa”, “aaa”, “aaa”); pFile = fopen(“filename.txt”,”w” ); if( NULL == pFile ){ printf( “open failure” ); return 1; }else{ fwrite(sbuf,1,sizeof(sbuf),pFile); fclose(pFile); } return 0; } 而開啟檔案裡的內容會像下面,前面九個a是正確的,但後面多了很多的亂碼 aaaaaaaaa#▒`=▒0▒#▒▒=▒ ▒#▒▒n .N=▒▒▒* x ▒▒#▒(▒▒▒▒#▒▒▒▒8▒▒▒▒#▒▒+ ▒* ▒▒* ▒@x▒▒@X▒#▒0▒#▒▒* + ▒+ ▒y ▒* ▒+ + […]

  • [C語言] 使用C語言存取MySQL的範例

    以下的範例是使用C語言來達成MySQL的連結,本文是參考http://codex.wiki/post/106065-844 #include <stdio.h> #include <stdlib.h> #include <string.h> #include “/usr/include/mysql/mysql.h” int main(){ MYSQL mysql,*sock; MYSQL_RES *res; MYSQL_ROW row; char qbuf[160] = “select afield,bfield,cfield,dfield from tablename where tran = 1 limit 0,1″; mysql_init(&mysql); if (!(sock = mysql_real_connect(&mysql,”localhost”,”dbuser”,”dbpassword”,”dbname”,0,NULL,0))){ fprintf(stderr,”Couldnt connect to engine!n%snn”,mysql_error(&mysql)); perror(“”); exit(1); } if(mysql_query(sock,qbuf)) { fprintf(stderr,”Query failed (%s)n”,mysql_error(sock)); exit(1); } if (!(res=mysql_store_result(sock))) { fprintf(stderr,”Couldnt get result […]

  • [C語言] 使用MySQL時,編譯時出現”未定義參考到”錯誤

    就是像這樣 mysql.c:(.text+0x25): 未定義參考到「mysql_init」 mysql.c:(.text+0x60): 未定義參考到「mysql_real_connect」 mysql.c:(.text+0x80): 未定義參考到「mysql_error」 mysql.c:(.text+0xc9): 未定義參考到「mysql_query」 mysql.c:(.text+0xdc): 未定義參考到「mysql_error」 mysql.c:(.text+0x111): 未定義參考到「mysql_store_result」 mysql.c:(.text+0x131): 未定義參考到「mysql_error」 mysql.c:(.text+0x1bb): 未定義參考到「mysql_fetch_row」 mysql.c:(.text+0x1db): 未定義參考到「mysql_free_result」 mysql.c:(.text+0x1ea): 未定義參考到「mysql_close」 或這樣 undefined reference to `mysql_init’undefined reference to `mysql_real_connect’undefined reference to `mysql_query’undefined reference to `mysql_query’undefined reference to `mysql_store_result’undefined reference to `mysql_num_rows’undefined reference to `mysql_free_result’undefined reference to `mysql_close’ 因為我是使用下列命令來編譯 # gcc -Wall mysql.c -o mysql 改用這樣就沒問題了 # […]