To be safe you don’t break stuff (for example when these strings are changed in your code or further up), or crash you program (in case the returned string was literal for example like "hello I'm a literal string"
and you start to edit it), make a copy of the returned string.
You could use strdup()
for this, but read the small print. Or you can of course create your own version if it’s not there on your platform.
Related Posts:
- Arrow operator (->) usage in C
- Passing by reference in C
- Why does the arrow (->) operator in C exist?
- expression must have integral type
- How to printf a memory address in C
- Invalid type argument of -> C structs
- What does ** mean in C?
- Get size of pointer in C
- C: pointer to array of pointers to structures (allocation/deallocation issues)
- Casting a pointer to an int
- Initialization makes pointer from integer without a cast – C
- lvalue required as left operand of assignment error when using C++
- Pointer Arithmetic
- What does “dereferencing” a pointer mean?
- What does “dereferencing” a pointer mean?
- char *array and char array[]
- Are the C++ & and * operators inverses in all contexts?
- C pointers and arrays: [Warning] assignment makes pointer from integer without a cast
- What is the difference between const int*, const int * const, and int const *?
- how does the ampersand(&) sign work in c++?
- What is the difference between const int*, const int * const, and int const *?
- Difference between char* and const char*?
- What does ** do in C language?
- What’s the difference between char and char* in C++?
- #31 expression must have integral type
- How do you pass a function as a parameter in C?
- Invalid pointer error on invoking free() after malloc in C
- When should I use the new keyword in C++?
- expression must have integral type
- How do you pass a function as a parameter in C?
- How to make an array with a dynamic size? General usage of dynamic arrays (maybe pointers too)?
- How do you pass a function as a parameter in C?
- C free(): invalid pointer
- What’s wrong with my code? What is argv[1]?
- Valgrind: Invalid read of size 1
- Constant pointer vs Pointer to constant
- Reversing a string in C
- Warning: return from incompatible pointer type in C
- Is the sizeof(some pointer) always equal to four?
- Warning: assignment from incompatible pointer type
- strcmp giving segmentation fault
- Why am I getting this error: “data definition has no type or storage class”?
- Initialization from incompatible pointer type warning when assigning to a pointer
- Typedef function pointer?
- What is the use of intptr_t?
- Returning an array using C
- warning: passing argument ’from incompatible pointer type [enabled by default]’
- char pointers: invalid conversion from ‘char*’ to ‘char’?
- What is the difference between char array and char pointer in C?
- Why do I get “cast from pointer to integer of different size” error?
- Why use pointers?
- What’s the difference between * and & in C?
- Excess elements of scalar initializer for pointer to array of ints
- What exactly is meant by “de-referencing a NULL pointer”?
- typedef struct pointer definition
- Difference between char *argv[] and char **argv for the second argument to main()
- Difference between char* and char** (in C)
- Warning: comparison of distinct pointer types
- Realloc Invalid Pointer in C
- Dereference void pointer
- The difference between char * and char[] [duplicate]
- What does ‘return *this’ mean in C++?
- Difference between the int * i and int** i
- Pointer to 2D arrays in C
- Pointer to a string in C?
- Using pointer to char array, values in that array can be accessed?
- C – Error is “free(): invalid next size (normal) “
- Meaning of *& and **& in C++
- lvalue required as increment operand
- How to use execvp()
- How to use execvp() to execute a command
- How does strtok() split the string into tokens in C?
- what is Segmentation fault (core dumped)? [duplicate]
- What is a dangling pointer?
- error: called object is not a function or function pointer
- Is there any format specifier of bool in C?
- how to open an mp3 file with c
- munmap_chunk(): invalid pointer
- What is activation record in the context of C and C++?
- Get text from user input using C
- How to create a dynamically-allocated array of const objects, but have values assigned to them?
- How do I lowercase a string in C?
- Fastest way to check if a file exist using standard C++/C++11,14,17/C?
- warning: expression result unused
- 2D array vs array of arrays
- Sign extend a nine-bit number in C
- How to create an array of strings in C?
- What are the different versions of exec used for in C and C++?
- Portable way to check if directory exists [Windows/Linux, C]
- What does the term “empty loop” refer to exactly in C and C++?
- What integer hash function are good that accepts an integer hash key?
- C++ pass an array by reference
- X86 assembly – Handling the IDIV instruction
- Pause screen at program completion in C
- Representing EOF in C code?
- Return a `struct` from a function in C
- gdb: No symbol “i” in current context
- Whats the difference between UInt8 and uint8_t
- How to Compare 2 Character Arrays [duplicate]
- How to use redirection in C for file input