1. 程式人生 > >C語言相關函式及sed命令

C語言相關函式及sed命令

1.memset()函式原型是extern void *memset(void *buffer, int c, int count)       

                  buffer:為指標或是陣列,
                  c:是賦給buffer的值,
                  count:是buffer的長度.


       這個函式在socket中多用於清空陣列.如:原型是memset(buffer, 0, sizeof(buffer))

       Memset 用來對一段記憶體空間全部設定為某個字元,一般用在對定義的字串進行初始化為‘ ’或‘/0’;

      例:char a[100];memset(a, '/0', sizeof(a));

2.linux程序間通訊函式:https://www.cnblogs.com/52php/p/5861372.html

3.strcmp():字串比較函式
  
  原型:int strcmp(const char *s1, const char *s2);
  標頭檔案:#include <string.h>

  功能:用來比較兩個字串

  引數:s1、s2為兩個進行比較的字串

  返回值:若s1、s2字串相等,則返回零;若s1大於s2,則返回大於零的數;否則,則返回小於零的數。

  說明:strcmp()函式是根據ACSII碼的值來比較兩個字串的;strcmp()函式首先將s1字串的第一個字元值減去s2第一個字元,若差值為零則繼  續比較下去;若差值不為零,則返回差值。

4. strstr函式

strstr(str1,str2) 函式用於判斷字串str2是否是str1的子串。如果是,則該函式返回str2在str1中首次出現的地址;否則,返回NULL。

5./t:轉義字元,是水平製表符,相當於Tab鍵
  
  /r/n:回車加換行

6.int main(int argc ,char * argv[])詳解

  argc是命令列總的引數個數  
  argv[]是argc個引數,其中第0個引數是程式的全名,以後的引數  
  命令列後面跟的使用者輸入的引數

7.strcat函式
  extern char *strcat(char *dest,char *src);

  #include <string.h>
  在C++中,則存在於<cstring>標頭檔案中。
  功能:
  把src所指字串新增到dest結尾處(覆蓋dest結尾處的'\0')。
  說明
  src和dest所指記憶體區域不可以重疊且dest必須有足夠的空間來容納src的字串。
  返回指向dest的指標。

8.char *strncpy(char *dest, const char *src, int n),
  把src所指向的字串中以src地址開始的前n個位元組複製到dest所指的陣列中,並返回被複制後的dest。

9.snprintf()函式用於將格式化的資料寫入字串,其原型為:
  int snprintf(char *str, int n, char * format [, argument, ...]);


【引數】str為要寫入的字串;n為要寫入的字元的最大數目,超過n會被截斷;format為格式化字串,與printf()函式相同;argument為變數。


【返回值】成功則返回引數str 字串長度,失敗則返回-1,錯誤原因存於errno 中。

10.sed的用法:
  替換操作:s命令
  替換文字中的字串:

  sed 's/book/books/' file
  -n選項和p命令一起使用表示只打印那些發生替換的行:

  sed -n 's/test/TEST/p' file

  直接編輯檔案選項-i,會匹配file檔案中每一行的第一個book替換為books:

sed -i 's/book/books/g' file