How to copy a string using a pointer

前端 未结 7 1548
野趣味
野趣味 2020-12-15 21:05

Here\'s a program I wrote to copy a string constant.

When the program is run it crashes. Why is this happening ?

#include 

char *alph         


        
7条回答
  •  忘掉有多难
    2020-12-15 21:35

    To copy strings in C, you can use strcpy. Here is an example:

    #include 
    #include 
    
    const char * my_str = "Content";
    char * my_copy;
    my_copy = malloc(sizeof(char) * (strlen(my_str) + 1));
    strcpy(my_copy,my_str);
    

    If you want to avoid accidental buffer overflows, use strncpy instead of strcpy. For example:

    const char * my_str = "Content";
    const size_t len_my_str = strlen(my_str) + 1;
    char * my_copy = malloc(len_my_str);
    strncpy(my_copy, my_str, len_my_str);
    

提交回复
热议问题