原创 字符串模型3:查找字符串str1中字符串str2出現的次數

#include <stdio.h> #include <string.h> // 查找str1中str2出現的次數 // 比如:str1 = "haabchnjabchnnjabchuioiabc" 中 str2 = "abc

原创 字符串模型1:打印去掉字符串首尾空格後的字符

#include <stdio.h> #include <string.h> /* 有一個字符串開頭或結尾含有n個空格(" helloworld "), 欲去掉前後空格 * 返回一個新字符串. * 要求1:自己定義一個

原创 二維數組名本質

#include <stdio.h> int main(void) { int a[10][30] = {0}; int (*pa)[30]; // 數組指針 pa = a; prin

原创 通過execve在兩個進程間傳遞環境變量

進程1:execve 進程2:hello execve.h 的代碼如下: #include <stdio.h> #include <stdlib.h> #include <unistd.h> /* #inclu

原创 字符串模型2:分別取一串字符串中的奇偶字符存放在兩個不同的內存塊中

#include <stdio.h> /* 有一個字符串”1a2b3d4z”,; * 要求寫一個函數實現如下功能, * 功能1:把偶數位字符挑選出來,組成一個字符串1 buf1 * 功能2:

原创 redmine安裝部署

redmine數據庫配置文件裏有三種環境: production, development, test redmine/bin/rails server -b 0.0.0.0 // 默認development環境 ruby r

原创 vim的一些常用小技巧

當我們要從另外一個文本編輯器複製內容到終端的vim裏時,常常會出現複製第二行往下的時候會自動在前面加上空格,如果要手動去掉這些空格會非常不方便 解決方法: 修改vim的配置文件 .vimrc set paste

原创 定義一個一維指針指向二維數組並打印

間接證明二維數組在物理上是線性存儲的 #include <stdio.h> // 證明二維數組在物理上是線性存儲的 // a[i][j] // a[0] = a+0; a[1] = a+1; a[i] = a+i ;a+i

原创 sftp通過祕鑰上傳,修改文件

sftp是通過openssh與服務端建立連接的,默認端口爲22 1. 新建一個sftp的用戶,這裏就叫sftp useradd -s /sbin/nologin sftp ·2. 在sftp用戶的家目錄加上客戶端的公鑰

原创 結構體基礎02

#include <stdio.h> #include <stdlib.h> typedef struct _Teacher { char name[100]; char *title; int age;

原创 野指針的處理

野指針處理的三個要點: 定義指針時,把指針變量賦值爲NULL 釋放內存時,先判斷指針變量是否爲NULL 釋放完畢後,把指針變量重新賦值爲NULL #include <stdio.h> #include <stdlib.h>

原创 一維數組名的本質

#include <stdio.h> #include <string.h> /* int a[]; * int (*p)[]; // 定義數組指針 * int *p2 * p = &a; * p2 =

原创 結構體基礎

#include <stdio.h> #include <stdlib.h> typedef struct _Teacher { char name; int age; } Teacher; // 打印結構體成

原创 wiki-confluence亂碼問題

confluence裏出現亂碼,肯定是數據庫編碼的設置問題,如下: 在安裝confluence的時候,有兩個地方需要配置字符編碼 1. 創建database的時候 2. 連接數據庫的時候(JDBC 的鏈接url) **JD

原创 vfork函數

#include <stdio.h> #include <stdlib.h> #include <unistd.h> /* vfork和fork的區別: 1.vfork創建的子進程和父進程共享線性地址空