user3313: I want to split this:  
char* value = "12;32;blue";
or
string value = "12;32;blue";

into this vars:
TV = 12;
AR = 32;
LED = "blue";

is it possible?

user84: For C-strings (char*), your best option (in terms of performance and memory consumption) is to use strtok:
char* value = "12;32;blue";
char* token = strtok(value, ";");
int TV = atoi(token);
token= strtok(0, ";");
int AR = atoi(token);
token = strtok(0, ";");
char* LED = token;

Note 1: the code above takes it for granted that value is properly formatted, i.e. contains 3 parts split by ;. If it is not sure, then you should add additional checks on token value returned by strtok.
Note 2: strtok is modifiying its value argument, so that at the end of the code above, value will not be equal to 12;32;blue any longer.
Note 3: LED variable above will point directly to the character b inside value, which means that if value is modified afterwards, LED might be modified as well.

user3825: Scan function should do the job.
int tv, ar;
char color[10];
sscanf(value, "%d;%d;%s", &tv, &ar, color);


3313: <p>I want to split this:  </p>

<pre><code>char* value = "12;32;blue";
or
string value = "12;32;blue";
</code></pre>

<p>into this vars:</p>

<pre><code>TV = 12;
AR = 32;
LED = "blue";
</code></pre>

<p>is it possible?</p>
 84: <p>For C-strings (<code>char*</code>), your best option (in terms of performance and memory consumption) is to use <a href="http://www.cplusplus.com/reference/cstring/strtok/" rel="nofollow"><code>strtok</code></a>:</p>

<pre><code>char* value = "12;32;blue";
char* token = strtok(value, ";");
int TV = atoi(token);
token= strtok(0, ";");
int AR = atoi(token);
token = strtok(0, ";");
char* LED = token;
</code></pre>

<p><strong>Note 1</strong>: the code above takes it for granted that <code>value</code> is properly formatted, i.e. contains 3 parts split by <code>;</code>. If it is not sure, then you should add additional checks on <code>token</code> value returned by <code>strtok</code>.</p>

<p><strong>Note 2</strong>: <code>strtok</code> is modifiying its <code>value</code> argument, so that at the end of the code above, <code>value</code> will not be equal to <code>12;32;blue</code> any longer.</p>

<p><strong>Note 3</strong>: <code>LED</code> variable above will point directly to the character <code>b</code> inside <code>value</code>, which means that if <code>value</code> is modified afterwards, <code>LED</code> might be modified as well.</p>
 3825: <p>Scan function should do the job.</p>

<pre><code>int tv, ar;
char color[10];
sscanf(value, "%d;%d;%s", &amp;tv, &amp;ar, color);
</code></pre>
