2010-01-16 26 views

Trả lời

9

Nếu bạn thấy thoải mái khi sử dụng chuỗi C, bạn có thể quan tâm đến my answer cho một câu hỏi tương tự.


Không cần để biên dịch mã như C++: biên dịch entities.c như -std=c99 và liên kết các tập tin đối tượng với C++ mã, ví dụ như nếu bạn đã ví dụ chương trình follwing 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; 
} 

sử dụng

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

Tôi đã sử dụng mã này để sử dụng: #include "entity.h" #include int main (void) { \t printf ("Nhập văn bản được mã hóa:"); \t char * được mã hóa, * đã giải mã; \t scanf ("% s", được mã hóa); \t size_t tmp = decode_html_entities_utf8 (được giải mã, mã hóa); \t printf ("% s \ n", đã giải mã); \t trả về 0; } lưu lại dưới dạng entdec.c sau đó tôi chạy: gcc -c entities.c entdec.c -std = c99 gcc -o entdec entities.o entdec.o tôi mở chương trình và tôi nhận điều này: Nhập văn bản được mã hóa: " Âm nhạc " & " Video " và một nhân vật strage. – Eduardo

+0

@Eduardo: không phải 'scanf()' không phải chức năng giải mã của tôi sẽ cấp phát bộ nhớ cho bạn; Tôi sẽ thêm một số mã ví dụ – Christoph

+0

Cảm ơn, bây giờ nó hoạt động. – Eduardo

Các vấn đề liên quan