[C]malloc(), free()函数的应用

用strchr搜索字符,并把搜索到的字符串保存到新字符串中

 

#include 
#include <string.h>
#include  //用于malloc(), free()函数
int main() {
    char s[] = "Bienvenidos a todos";
    char * p = strchr(s, 'e'); //通过这个方法找到了第一个e的地址,如何找下一个e呢?
    printf("%s\n", p); //输出结果

    //如何把搜索到的结果envenidos a todos保存到新的字符串中呢?
    char * t = (char *)malloc(strlen(p)+1);
    strcpy(t, p);
    printf("%s\n", t);
    free(t); //有借有还
    return 0;
}

 

 // 如果想要搜索到的结果envenidos a todos之前的内容Bi保存到新的字符串中,如何做呢?

#include 
#include <string.h>
#include  //用于malloc(), free()函数
int main() {
    char s[] = "Bienvenidos a todos";
    char * p = strchr(s, 'e'); //通过这个方法找到了第一个e的地址,如何找下一个e呢?
    printf("%s\n", p); //输出结果
// 如果想要搜索到的结果envenidos a todos之前的内容Bi保存到新的字符串中,如何做呢? char c = *p; //临时保存p地址所指的值 *p = 0; char * t = (char *)malloc(strlen(s)+1); //这时获取的s长度就会只是Bi长度 strcpy(t, s); printf("%s\n", t); *p = c; printf("%s\n", s); return 0; }

 

你可能感兴趣的:([C]malloc(), free()函数的应用)