Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get part of a char array

Tags:

c++

arrays

char

I feel like this is a really silly question, but I can't seem to find an answer anywhere!

Is it possible to get a group of chars from a char array? to throw down some pseudo-code:

char arry[20] = "hello world!";
char part[10] = arry[0-4];
printf(part);

output:

hello

So, can I get a segment of chars from an array like this without looping and getting them char-by-char or converting to strings so I can use substr()?

like image 575
Curlystraw Avatar asked Jan 23 '11 23:01

Curlystraw


1 Answers

You could use memcpy (or strncpy) to get a substring:

memcpy(part, arry + 5 /* Offset */, 3 /* Length */);
part[3] = 0; /* Add terminator */

On another aspect of your code, note that doing printf(str) can lead to format string vulnerabilities if str contains untrusted input.

like image 179
Jeremiah Willcock Avatar answered Oct 26 '22 17:10

Jeremiah Willcock