2010-01-16 12 views

Respuesta

9

Si te sientes cómodo con el uso de C-strings, te puede interesar my answer a una pregunta similar.


No hay necesidad de compilar el código como C++: compilar entities.c como -std=c99 y enlazar el archivo objeto con código de C++, por ejemplo, si tiene el programa de ejemplo siguientes aparatos foo.cpp

#include <iostream> 

extern "C" size_t decode_html_entities_utf8(char *dest, const char *src); 

int main() 
{ 
    char line[100]; 
    std::cout << "Enter encoded line: "; 
    std::cin.getline(line, sizeof line); 
    decode_html_entities_utf8(line, 0); 
    std::cout << line; 
    return 0; 
} 

uso

g++ -o foo foo.cpp entities.o 
+0

Hice este código para usarlo: #include "entities.h" # include int main (void) { \t printf ("Introduzca el texto codificado:"); \t char * codificado, * decodificado; \t scanf ("% s", codificado); \t size_t tmp = decode_html_entities_utf8 (decodificado, codificado); \t printf ("% s \ n", decodificado); \t return 0; } guardan como entdec.c Entonces me encontré: gcc -c entities.c entdec.c -std = c99 gcc -o entdec entities.o entdec.o abrí el programa y tengo esto: Introducir texto codificado: " Música " & " vídeo " y un carácter de Carcamo. – Eduardo

+0

@Eduardo: ni 'scanf()' no mi función de decodificación asignará memoria para usted; Agregaré un código de ejemplo – Christoph

+0

Gracias, ahora funciona. – Eduardo

Cuestiones relacionadas