linux c string庫函式總結
忽略大小比較兩個字元是否相當。如果s1>s2返回一個大於0的數。
如果s1 = s2 返回一個0。如果s1<s2返回一個小於0的數。
/**********************************************************************************************************************************/
#strcmp(const char *s1, const char *s2)
#int strcasecmp(const char *s1, const char *s2);#int strncasecmp(const char *s1, const char *s2, size_t n);
#
#DESCRIPTION
#The strcasecmp() function compares the two strings s1 and s2, ignoring the case of the characters.
#It returns an integer less than, equal to, or greater than zero if s1 is found,
#respectively, to be less than, to match, or be greater than s2.
#The strncasecmp() function is similar, except it only compares the first n characters of s1.
DEMO
/************************************************************************* > File Name: strcmp.c > Author: 沉默羔羊 > Mail: [email protected] > Created Time: 2014年11月08日 星期六 21時38分59秒 ************************************************************************/ #include<stdio.h> #include<stdlib.h> #include<string.h> int main(int argc, char **argv) { int i = 0; if(argc == 3 ) { i = strcasecmp(argv[1],argv[2]); if(i>0) { printf("argv[1] =%s i = %d\n",argv[1],i); } else if(i<0) { printf("argv[2] = %s\n,i = %d\n",argv[2],i); } else { printf("i = %d\n",i); } } else { perror("args error \n"); exit(1); } exit(0); }
**********************************************************************************************************************************/
//獲取字元c在s中出現的第一個位置,或者是最後一個位置。
/**********************************************************************************************************************************/
#include <strings.h>
#char *index(const char *s, int c);
#
#DESCRIPTION
#The index() function returns a pointer to the first occurrence of the character c in the string s.
#
#這個函式返回一個指標,它指向字元c在s中第一次出現的位置。
#
#
#char *rindex(const char *s, int c);
#The rindex() function returns a pointer to the last occurrence of the character c in the string s.
#
#這個函式返回一個指標,它指向字元c在s中最後一次出現的位置。
#
#
#這兩個引數的返回值:
#
#The index() and rindex() functions return a pointer to the matched character or NULL if the character is not found.
#這個index()和rindex()函式。返回一個指向匹配的字元指標,或者是NULL是因為該字元沒有被找到。
DEMO
/*************************************************************************
> File Name: index.c
> Author: 沉默羔羊
> Mail: [email protected]
> Created Time: 2014年11月08日 星期六 21時55分18秒
************************************************************************/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc, char **argv)
{
int i = 0;
char * c;
if(argc == 3 )
{
c = index(argv[1],(*argv[2]));
fprintf(stdout,"%s\n",c);
fflush(NULL);
}
else
{
perror("args error \n");
exit(1);
}
exit(0);
}
/**********************************************************************************************************************************/
//字串拷貝函式。
/**********************************************************************************************************************************/
#include <string.h>
#
#char *stpcpy(char *dest, const char *src);
#Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
#stpcpy():
# Since glibc 2.10:
#_XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L
#Before glibc 2.1
#_GNU_SOURCE
#DESCRIPTION
#The stpcpy() function copies the string pointed to by src (including the terminating null byte ('\0')) to the array pointed to by dest.
#The strings may not overlap, and the destination string dest must be large enough to receive the copy. 。
#
#
/*************************************************************************
> File Name: stpcpy.c
> Author: 沉默羔羊
> Mail: [email protected]
> Created Time: 2014年11月08日 星期六 22時20分54秒
************************************************************************/
#include<stdio.h>
#include<string.h>
int main(void)
{
char a[200] = "abcde";
char *b = "dddd\n";
stpcpy(a,b);
printf("a = %s\n", a);
}
//字元陣列連線函式。src連線到dest後面
/**********************************************************************************************************************************/#
#
##include <string.h>
#char *strcat(char *dest, const char *src);
#char *strncat(char *dest, const char *src, size_t n);
#DESCRIPTION
#The strcat() function appends the src string to the dest string, overwriting the terminating null byte ('\0') at the end of dest,
#and then adds a terminating null byte. The strings may not overlap, and the dest string must have enough space for the result. '')
#
# 將一個字元陣列新增到目標字元陣列中。他會給目標字元陣列新增一個null作為目標的結束。這個字元也許會重合, 新增目標陣列必須有足夠的空間。
#
# 這個函式和strncat功能類似,但是strncat有輸入緩衝邊界檢查
和index功能一樣。得到某個字元在字元陣列中的第一個出現的位置。後者是最後一個出現的位置。
/**********************************************************************************************************************************/
# #include <string.h>
#
# char *strchr(const char *s, int c);
#
# char *strrchr(const char *s, int c);
#
# #define _GNU_SOURCE /* See feature_test_macros(7) */
# #include <string.h>
# char *strchrnul(const char *s, int c);
#
#DESCRIPTION
#The strchr() function returns a pointer to the first occurrence of the character c in the string s.
#The strrchr() function returns a pointer to the last occurrence of the character c in the string s.
#
#//該函式返回一個指標,該指標指向字元c在s中的第一個位置。
#
#//該函式返回一個指標,該指標指向字元c在s中的最後一個位置。
#
#
/*************************************************************************
> File Name: index.c
> Author: 沉默羔羊
> Mail: [email protected]
> Created Time: 2014年11月08日 星期六 21時55分18秒
************************************************************************/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc, char **argv)
{
int i = 0;
char * c;
if(argc == 3 )
{
// c = index(argv[1],(*argv[2]));
c = strchr(argv[1],(*argv[2]));
fprintf(stdout,"%s\n",c);
fflush(NULL);
}
else
{
perror("args error \n");
exit(1);
}
exit(0);
}
判斷s中有多少個字元沒有在accept中出現。
/**********************************************************************************************************************************/
#//返回連續多少個字元不沒有在accept中出現。返回這個位置。
# #include <string.h>
# size_t strspn(const char *s, const char *accept);
# size_t strcspn(const char *s, const char *reject);
#
# DESCRIPTION
# The strspn() function calculates the length of the initial segment of s which consists entirely of characters in accept.
#
# The strcspn() function calculates the length of the initial segment of s which consists entirely of characters not in reject.
#
# RETURN VALUE
# The strspn() function returns the number of characters in the initial segment of s which consist only of characters from accept.
#
# The strcspn() function returns the number of characters in the initial segment of s which are not in the string reject.
#
#
#
//使用一個分隔符號,將字元string分割成多個字元。
//呼叫函式後,返回值指向的是分隔符前面的指標。
//stringngp指向分隔符後面的字元。
/**********************************************************************************************************************************/
#char *strsep(char **stringp, const char *delim);
#include <string.h>
#char *strsep(char **stringp, const char *delim);
#
# Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
# strsep(): _BSD_SOURCE
#
#DESCRIPTION
#If *stringp is NULL, the strsep() function returns NULL and does nothing else. Otherwise, this function finds the first token in the string *stringp,
#
# where tokens are delimited by symbols in the string delim.
#
#This token is terminated by overwriting the delimiter with a null byte ('\0') and *stringp is updated to point past the token.
#
#In case no delimiter was found, the token is taken to be the entire string *stringp, and *stringp is made NULL.
#
#RETURN VALUE
#
#The strsep() function returns a pointer to the token, that is, it returns the original value of *stringp.
#
#
/*************************************************************************
> File Name: index.c
> Author: 沉默羔羊
> Mail: [email protected]
> Created Time: 2014年11月08日 星期六 21時55分18秒
************************************************************************/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc, char **argv)
{
int i = 0;
char * c;
if(argc == 3 )
{
// c = index(argv[1],(*argv[2]));
// c = strchr(argv[1],(*argv[2]));
./a.out name=zshh0604 =
// name = zshh0604
c = strsep(&argv[1],argv[2]);
fprintf(stdout,"%s\n",c);
fprintf(stdout,"%s\n",argv[1]);
fflush(NULL);
}
else
{
perror("args error \n");
exit(1);
}
exit(0);
}
在一個函式中查詢子串。
/**********************************************************************************************************************************/
#include <string.h>
#
# char *strstr(const char *haystack, const char *needle);
#
# #define _GNU_SOURCE /* See feature_test_macros(7) */
#
# #include <string.h>
#
# char *strcasestr(const char *haystack, const char *needle);
#
# DESCRIPTION
# The strstr() function finds the first occurrence of the substring needle in the string haystack. The terminating null bytes ('\0') are not compared.'')
/*************************************************************************
> File Name: strstr.c
> Author: 沉默羔羊
> Mail: [email protected]
> Created Time: 2014年11月08日 星期六 23時18分25秒
************************************************************************/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
char * a = "aaaabbbbb";
char * b = "ab";
char *c = NULL;
c = strstr(a,b);
printf("c = %s",c);
exit(0);
}
//將s複製為到一個malloc的空間,之後返回出來。
char *strdup(const char *s);
//將字元陣列中的字元隨機交換。
char *strfry(char *string);
查詢字元陣列s中如何一個字元第一次出現在accpet中的位置。
char *strpbrk(const char *s, const char *accept);
使用delim查詢字元陣列。
char *strtok(char *s, const char *delim);
//相當與拷貝函式。
size_t strxfrm(char *dest, const char *src, size_t n);
相關推薦
linux c string庫函式總結
#include<strings.h>忽略大小比較兩個字元是否相當。如果s1>s2返回一個大於0的數。 如果s1 = s2 返回一個0。如果s1<s2返回一個小於0的數。/***************************************
linux c語言庫函式
1不錯的介紹MAKEFILE的文章Makefile的編寫假設我們有下面這樣的一個程式,原始碼如下:/* main.c */#include "mytool1.h"#include "mytool2.h"int main(int argc,char **argv){mytool1_print("hello");
C++ string成員函式和cstring庫函式
首先是C字串: C 庫函式 - strcmp() 比較2個C字串的字典序大小 描述 C 庫函式 int strcmp(const char *str1, const char *str2) 把 str1 所指向的字
[C++] STL庫函式之字串string::npos的介紹,以及string中的find函式~
npos經常和find一起用~它們兩個都在標頭檔案<string>裡面~先看用法: #include <iostream> #include <string> us
C語言庫函式的漏洞總結【筆記】
C語言庫函式漏洞 memset函式 strcpy函式 memset函式 memset函式在初始化為 0 的時候沒問題,但是當初始化為 1 時,只有對 1 個位元組大小的資料型別有效,比如 char ,float,但是當
C語言學習總結(五)——C庫函式總結
C 庫函式主要指那些由美國國家標準協會(ANSI)或國際標準化組織(ISO)釋出的標準中規定的庫函式,按照標準 C 的要求來進行 C 語言程式設計是很重要的,因為這樣你的程式碼才有可能跨平臺使用。 最早的 C89 中有15個標準標頭檔案: asse
C++常見庫函式
C++常用庫函式 1、常用數學函式 標頭檔案 #include <math> 或者 #include <math.h> 函式原型
C語言庫函式(侵刪)
1.strlen 標頭檔案:#include <string.h> strlen()函式用來計算字串的長度,其原型為:unsigned int strlen (char *s); s為指定的字串 #include<stdio.h> #include<
C字串——庫函式系列(strlen、strcat、strcpy、strcmp)
一定義: 字串:字串是由零個或者多個字元組成的有限序列; 子串:字串中任意個連續的字元組成的子序列,並規定空串是任意串的子串,字串本身也是子串之一;“abcdefg”,”abc“就是其子串,但是“ade”不屬於子串範圍。 子序列:不要求字元連續,但是其順序與其在主串中相一致;上例中,“abc
Linux C獲取時間函式例項
例項詳解Linux下C獲取時間函式的程式碼。 一、time 標頭檔案: #include <time.h> 原型: time_t time(time_t *t) time_t的定義: typedef __darwin_time_t time_t; typedef long
C++ string 常用函式/方法
要想使用標準C++中string類,必須要包含 `#include <string>` // 注意是<string>,不是<string.h>,帶.h的是C語言中的標頭檔案 using std::string; using std::wst
C/C++數字處理函式總結
絕對值 1. 絕對值; 標頭檔案:<stdlib.h> 函式原型: int abs(int x); long abs(long x); double abs(double&n
在VS2013 使用C語言庫函式,出現出現錯誤,提示使用不安全函式use _CRT_SECURE_NO_WARNINGS
在VS 2013 中編譯 C 語言專案,如果使用了 scanf 函式,編譯時便會提示如下錯誤: error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disab
string庫函式
標頭檔案: #include<string.h> 第一名 char* strstr(char* dest, char* need); 從dest字串中找出need字串出現的位置,不比較結束符,找不到返回NULL,找到了 返回need出現的位置
sort函式的用法(C++排序庫函式的呼叫)對陣列進行排序,在c++中有庫函式幫我們實現,這們就不需要我們自己來程式設計進行排序了。
對陣列進行排序,在c++中有庫函式幫我們實現,這們就不需要我們自己來程式設計進行排序了。 (一)為什麼要用c++標準庫裡的排序函式 Sort()函式是c++一種排序方法之一,學會了這種方法也打消我學習c++以來使用的氣泡排序和選擇排序所帶來的執行效率不高的問題!因為它使用
Linux C 靜態庫和動態庫
這次分享的宗旨是——讓大家學會建立與使用靜態庫、動態庫,知道靜態庫與動態庫的區別,知道使用的時候如何選擇。這裡不深入介紹靜態庫、動態庫的底層格式,記憶體佈局等,有興趣的同學,推薦一本書《程式設計師的自我
C語言字串函式總結:模擬實現常用的字串類函式(strlen、strcpy、strcmp........)
總結:模擬實現常用的字串類函式(strlen、strcpy、strcmp……..) 1. strlen 2. strcpy 3. strcat 4. strstr 5. strchr 6. strcmp 7. memcpy 8. m
C語言IO函式總結
一.只用於標準輸入(stdin)和標準輸出(stdout)的函式 1.getchar putchar 2.gets puts gets:從標準輸入讀字元。直到出現換行符或讀到檔案結尾為止。不會檢測空間是否足夠,會造成空間越界。 puts:向標準輸出裝置輸出一個字串,會自動新增
C++ string 常見函式一覽
1 std::string::back & front char& back(); const char& back() const; Access last character Returns a reference to the