字符串處理函數
1、將格式化數據寫入字符串:sprintf
int sprintf( char *buffer, const char *format, ... );
將數據打印到buffer中
例如:char result[100];
int num = 24;
sprintf( result, "%d", num );
例如:char string[50];
int file_number = 0;
sprintf( string, "file.%d", file_number );
file_number++;
output_file = fopen( string, "w" );
又例如:char result[100];
float fnum = 3.14159;
sprintf( result, "%f", fnum );
2字符串長度查詢函數: strlen
int strlen(const char *s);
3、字符串復制函數:strcpy、strncpy
char *strcpy(char *dest, const char *src);
4、字符串連接函數: strcat
char *strcat(char *dest, const char *src);
5、字符串比較函數: strcmp、strncmp、stricmp、strnicmp
字符串比較函數strcmp(分大小寫)
int strcmp(const char *s1, const char *s2);
Return Value
Return value
Explanation
less than 0
str1 is less than str2
equal to 0
str1 is equal to str2
greater than 0
str1 is greater than str2
字符串搜索函數: strcspn、strspn、strstr、strtok、strchr
6查找子串strstr
char *strstr(char *s1, char *s2);
查找給定字符串在字符串中第一次出現的位置,返回位置指針
如果找到,返回指針,指向s1中第一次出現s2的位置
如果找不到,返回 NULL
pdest = strstr( string, str );
在string中搜索str,返回str在string中第一次出現的位置
例如:char* str1 = "this is a string of characters";
char* str2 = "a string";
char* result = strstr( str1, str2 );
if( result == NULL ) printf( "Could not find %s in %s ", str2, str1 );
else printf( "Found a substring: %s ", result );
輸出結果為:Found a substring: a string of characters
7、搜索字符在串中第一次出現的位置strchr
pdest = strchr( string, ch );
在string中搜索ch,返回str在string中第一次出現的位置
8、字符串部分拷貝 strncpy, 字符串全部拷貝strcpy
char *strncpy(char *dest, char *src, int maxlen);
char *strcpy(char *dest, char *src);
將前 maxlen 個字符從src拷貝到dest
1)如果src中字符不足 maxlen 個,則連’’一起拷貝,’’後面的不拷貝
2) 如果src中字符大於等於maxlen個,則拷貝 maxlen個字符
9字符串大小寫轉換函數: strlwr、strupr
補充:這些函數都要求 #include <string.h>