C語言實現String字串及其函式

2021-10-10 07:06:18 字數 2434 閱讀 5203

供參考學習~

#ifndef _stringutil_h

#define _stringutil_h

#define true 1

#define false 0

typedef char* string;

typedef char** array_t;

typedef unsigned char bool;

typedef struct

stringutil;

extern stringutil stringutil;

void stringutiltest(void);

#endif

#include "stdio.h"

#include "stdlib.h"

#include "string.h"

#include "ctype.h"

#include "stdarg.h"

#include "stringutil.h"

static char* addextra(char* p1, char* p2);

static char* add(char* p1, char* p2);

static char* newstring(int num, ...);

static void delstring(char* p);

static int split(char* buff, char* separator, array_t* result);

static int splitextra(char* buff, char* separator, array_t* result);

static void delarray(array_t p, int n);

static char* toupper(char* ptr);

static char* tolower(char* ptr);

static bool startwith(char* src, char* str);

static bool endwith(char* src, char* str);

static char* join(array_t ptr, int n);

static char* strip(char* ptr, char* separator);

stringutil stringutil = ;

/** * @description: 字串合併

* @param 字串1

* @param 字串2

* @return 合併後的字串指標p1

*/static char* addextra(char* p1, char* p2)

return ptr;

}/**

* @description: 字串合併

* @param 字串1

* @param 字串2

* @return 合併後的字串指標p1

* @attention 會建立乙個新的字串返回

*/static char* add(char* p1, char* p2)

return ptr;

}/**

* @description: 建立字串

* @param 字串陣列的個數

* @param 多個字串陣列

* @return 建立完的字串指標

* @attention 需要呼叫delstring()手動釋放ptr

*/static char* newstring(int num, ...)

// va_end(ap);

char* ptr = (char*)calloc(length+1, sizeof(char));

if (ptr != null)

va_end(ap);

}else

return ptr;

}/**

* @description: 釋放一維指標的記憶體

* @param 一維指標

* @return 無

*/static void delstring(char* p)

/** * @description: 釋放二維指標的記憶體

* @param 二維指標

* @param 第一維的數量

* @return 無

* @attention 使用本函式可釋放呼叫split()函式後的二維指標的記憶體

*/static void delarray(array_t p, int n)

{ for(int i=0; i

字串比對 C語言實現

題目內容 題目說起來很簡單,你會讀到兩個字串,每個字串佔據一行,每個字串的長度均小於10000字元,而且第乙個字串的長度小於第二個字串的。你的程式要找出第乙個字串在第二個字串 現的位置,輸出這些位置,如果找不到,則輸出 1。注意,第乙個字元的位置是0。注意,第乙個字串在第二個字串中的位置可能不止一處...

C語言實現字串拼接

實現字串的拼接 標頭檔案 include include 主程式 int main 分別求兩個字串的大小 int str size sizeof str sizeof str 0 int str1 size sizeof str1 sizeof str1 0 宣告索引值 int k,j 取出str的...

使用C語言實現字串分割

之前分享了一篇使用c std string 作為容器 進行字串分割的博文 現在又想用c語言做乙個字串分割的函式,大概功能是這樣 需要分割的字串 this is a charactor raw.使用 分割 分割之後會返回乙個char strv 表示分割出子串str的vector,返回乙個int str...