字符串操作
strcat(),strncat()
char *strcat(char *dest, const char *src);
char *strncat(char *dest,const char *src,size_t n);
以上两个函数的作用是将两个字符串拼接起来,形成一个新的字符串存放在 *dest里面;
snprintf()
:
int snprintf(char *str, size_t size, const char *format, ...);
这个函数和sprintf()
作用类似,只不过是将内容打印到 str 里面,实际使用的过程中可以用做拼接任 何类型的数据
fread(); fgets();
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
char *fgets(char *s, int size, FILE *stream);
**函数作用类似,都是在文件流中读取数据,区别在与
fread()
返回值来判断读是否取到 nmemb 数量的数据
读取大小为 在size_t nmemb大小之内,读取所有存在的数据。
fgets()
返回字符串的首地址
Reading stops after an EOF or a newline. 翻译过来的意思就是 在遇到换行或者EOF都会读取停止。也就是说fgets()读到的数据大小受到比fread()多了一个限制,就是换行的区别。
总结来说,在 nmemb 足够大的情况下,就是fread一下读取所有的数据,而fgets每次读取一行。
strstr()
char *strstr(const char *haystack, const char *needle);
The strstr() function finds the first occurrence of the substring needle in the string haystack. The terminating ‘\0’ characters are not compared. 翻译这个函数会在 haystack里面找出第一个与 needle相同的子串,\0 不会参与比较。
strchr(); strrchr();
char *strchr(const char *s, char c);
比较字符串中第一个出现字符c,返回字符c的位置
char *strrchr(const char *s, char c);
比较字符串中最后一个出现字符c,返回字符c的位置
strcpy(); strncpy();
char *strcpy(char *dest, const char *src);
char *strncpy(char *dest, const char *src, size_t n);
函数的作用就是把src所指由NULL结束的字符串复制到dest所指的数组中。src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。size_t n,可以用来控制字符串复制的大小,避免dest溢出。