How to write into a char array in C at specific location using sprintf?
Date: 2023-03-27 12:25:27
To write into a specific location of a character array in C using sprintf()
, you need to specify the starting index of the location in the format string. Here's an example:
#include
int main() {
char str[20];
int index = 5;
int num = 123;
sprintf(&str[index], "%d", num);
printf("Resulting string: %s\n", str);
return 0;
}
In the above code, a character array str
of size 20 is defined. An integer index
is set to 5, which specifies the starting index of the location where we want to write the string representation of an integer num
.
The sprintf()
function is then used to write the string representation of num
into the character array starting at index index
. The format string "%d"
specifies that we want to write an integer, and the %d
is replaced by the value of num
in the resulting string.
Finally, the resulting string is printed using printf()
. The output of the program will be:
Resulting string: 123
Note that in the sprintf()
call, we pass the address of the character array element at the specified index, i.e., &str[index]
. This tells sprintf()
to start writing the output string at that index.