usar tipos imprimir funciones ejemplos declarar como caracteres cadenas cadena arreglo c++ variables char c-preprocessor

tipos - C++ Establecer valor para un char**



imprimir cadena de caracteres en c (2)

APISTRING * es un puntero a un puntero a char. Tiene una dirección que contiene la dirección del primer carácter de la cadena en la memoria.

Consulte esta pregunta para obtener más información sobre los punteros dobles en C / C ++.

Para asignar a la cadena, necesitarás hacer *outputString = "string"

Estoy tratando de asignar un valor a una variable char** . En mi foo.h he definido un par de variables como

#define APIOCTET int #define APILONG long #define APICHAR char #define APISTRING char*

Ahora en mi foo.cpp estoy intentando usar un método donde

APILONG apiInitialize(APISTRING filePath, APISTRING* outputString) { //open text file to where output will be printed //do other stuff, etc.. //return result; }

Me gustaría asignar un valor a mi APISTRING* outputString pero no puedo entender cómo hacerlo. He intentado muchas cosas que son básicamente una variación del siguiente código

APISTRING error = "error"; APISTRING other = "string"; APISTRING charArr[] = { error, other, error }; APISTRING *charArr2[] = { charArr }; errorString = *charArr2;

Además, no estoy 100% claro sobre qué es exactamente APISTRING* outputString . Cuando intento compilarlo, aparece un mensaje de error donde dice que es un char** . ¿Es una matriz 2D? ¿Un puntero a una matriz de caracteres? ... Pero lo más importante, ¿cómo asignaría un valor para esta variable? Gracias por adelantado.


APISTRING * outputString se procesará previamente y se reproducirá en tiempo de compilación como la cadena de salida de char **. Por lo tanto, outputString será doble puntero, por lo tanto, debe hacerlo así (debajo del código). Combiné ambos .h y cpp juntos por simplicidad.

#include<iostream> using namespace std; #define APIOCTET int #define APILONG long #define APICHAR char #define APISTRING char* APILONG apiInitialize(APISTRING filePath, APISTRING* outputString) { APISTRING getIt = *outputString; cout<<" "<<getIt<<endl; } int main() { APISTRING str = "hello"; APISTRING* outputString = &str; APILONG val = apiInitialize("world", outputString ); system("PAUSE"); return 0; }

Yo recomendaría usar std :: string, será fácil modificarlo con ciertos comportamientos. Espero que esto ayude.