La idea es buena pero te falla el tipo de dato: las variables char soportan un caracter, pero puedes combinarlas en un array para que soporten una lista de caracteres
Código C:
Ver originalchar letra = 'a';
char texto[] = "un texto";
Junto con esto ya que estas en c++ tienes el tipo string, que seria como un equivalente de array de caracteres
Lo que te interesa es el array de caracteres o el string; cada tipo de dato tiene su comportamiento (p.ej. el array de caracteres puedes hacerlo dinamico o estatico pero una vez definido solo podrá albergar un numero de caracteres definido por su tamaño, en cambio en el string no tienes ese problema)
Si quieres hacerlo con array de chars primero declaras un array de chars y luego en cada caso copias los tabuladores que quieres:
Observa que el texto se indica con comillas dobles mientras que los caracteres aislados van con comillas simples. En este caso solo puedes guardar un maximo de 50 caracteres, si intentas poner mas se producirá una violacion de acceso (intentaras acceder a una memoria que no fue asignada a la aplicacion). Tambien ten en cuenta que debes incluir la cabecera stdio.h para usar sprintf.
Si quieres usar strings será parecido pero mas facil:
Código C++:
Ver originalstring x;
...
case 1:
x = "\t";
...
case 2:
x = "\t\t";
...
Observa otra vez como tambien indico caracter textual con las comillas dobles.
Y luego tienes aun la tercera forma que consiste en crear una funcion que se encargue de pintar tabuladores, de forma que tu te olvidas de strings y de todo:
Código C++:
Ver originalvoid pinta_tabs(int n) {
for(int q = 0; q < n; q++) {
cout << '\t';
}
}
int main() {
int i;
for(i=1; i<=4; i++) {
cout << "cout<<\"Dentro del bloque " << i << "\";\n";
pinta_tabs(i);
cout << "}else{\n\t";
}
return 0;
}
Saludos
vosk