He hecho esto y si me corta la palabra, pero a nada que escriba una frase, los espacios no los coge y se keda colgado el programa, q puedo hacer?
Como ya te comento
do-while debes utilizar fgets y tambien debes verificar que el numero indicado po el usuario (la posicion) sea menor que 25:
puts("Introduce la cadena de caracteres:");
fgets(tira, 25, stdin);
puts("Introduce un numero:");
if (scanf("%d", &n) == 1 && n >= 0 && n < 25)
tira[n]='\0';----
Y con un bucle for?¿
...
en este caso el programa devuelve "Holaaaa b" (asta el 9 caracter por que es un 9 el numero ingresado :=))
y para recojer el texto tengo entendido que gets() va muy bien,yo uso "cin" aun que este no va tan bien,hay que vaciar siempe el buffer!
Si revisamos con cuidado el programa de
raquelsg88 este es en lenguaje C.
Hay varios problemas con la solucion que propones: en C++ es un error modificar una cadena literal (la cadena "Holaaaa buenos dias") y no se aconseja el uso de la funcion gets (eso se describe a detalle en los temas fijos del foro).
Un saludo