[RISOLTO] Incrementare for

void TRISTATE()
{
int b=0;
int i=0;
      for (i = 0; i < 18; i+2)
        {
          if ((char(stringa_bin[i]) == 0x31) && (char(stringa_bin[i+1]) == 0x31)) //11 = "-"
            {
              dualbit[b]='-';
            }
          if ((char(stringa_bin[i]) == 0x30) && (char(stringa_bin[i+1]) == 0x30)) //00 = "+"
            {
              dualbit[b]='+';
            }
          if ((char(stringa_bin[i]) == 0x30) && (char(stringa_bin[i+1]) == 0x31)) //01 = "0"
            {
              dualbit[b]='0';
            }
          b=b+1;
        }
}

Ho bisogno di una mano... stringa_bin è un array char contenente una combinazione di 18 valori di 0 e 1
devo leggere questi valori a coppie di due e trasformarli in:
11 = -
00 = +
01 = 0 (ma se crea problemi posso usare anche "N" p.es.)
in pratica i 18 caratteri della stringa_bin diventeranno 9 caratteri nella stringa dualbit.
provando a mettere delle "sonde" ho notato che l'incremento i+2 non funziona, mentre se lo trasformo nel tipico i++ funziona ma così non mi serve a niente.
Quando funziona poi mi riconosce solo la combinazione 11 e quindi scrive "-", ma non le altre due.

Ci va l'istruzione completa:

for (i = 0;  i < 18;  i = i + 2)

O anche:

for (i = 0;  i < 18;  i++, i++)

Grazie Claudio, così risolvo la questione dell'incremento, ora provo.

Funziona tutto ora, quindi il mio codice era corretto, purtroppo mi ha ingannato un vecchio post nel quale si diceva che l'incremento si potesse fare con i+5 o i*3 (i numeri a titolo di esempio).
Grazie ancora!!
+1

i+=5 o i*=3 la sintassi corretta che è l'abbreviazione di i=i+5

nid69ita:
i+=5 o i*=3 la sintassi corretta che è l'abbreviazione di i=i+5

Ecco, quindi serviva il classico operatore += invece del solo +. Grazie anche a te Igor. +1