Cómo imprimir una cadena usando un puntero

Otros han dado el código C para hacerlo. Pero me gustaría agregar una forma de pensar al respecto.

El compilador conoce el tipo y la ubicación de sus variables, punteros y cadenas por su nombre, después de definir cada uno de ellos utilizando una declaración de definición.

Puede imprimir una cadena en particular dando su nombre o un puntero a la cadena.

Digamos:

str es una cadena

ptr es un puntero

Entonces:

* ptr es la cadena a la que apunta el puntero ptr

Si intentara imprimir ptr , la computadora imprimiría el valor del puntero, como cualquier otra variable o cadena. Por lo tanto, debe colocar un asterisco delante de ptr para indicar al compilador que imprima la cadena a la que apunta ptr .

& str y & ptr son las direcciones (ubicación) de la cadena y el puntero

Aquí está tu prueba:

Escriba una declaración para poner la dirección de str en el puntero ptr .

Supongo que quieres imprimir una matriz de caracteres terminados en cero.

string_out (char * strg)
{
mientras que (* strg)
putchar (* strg ++);
}

// o simplemente usando printf

printf (“% s”, strg);

No estoy seguro de lo que busca con la pregunta, pero hay un par de maneras. Por cierto, nunca hagas esto

printf (strg);

Eso es malo.

Voy a responder desde una perspectiva de C ++ suponiendo que std :: string es lo que quieres decir con string.

vacío print_itatedto_string (std :: string * stringPtr)
{
if (stringPtr! = nullptr)
{
std :: cout << * stringPtr << std :: endl;
}
}