Etwas in char pointer einfügen?

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
Zenerid
Beiträge: 38
Registriert: Do Feb 05, 2015 4:15 pm

Etwas in char pointer einfügen?

Beitrag von Zenerid » So Apr 17, 2016 1:55 am

Ich würde gerne in ein HTML Dokument, um genauer zu sein in den <body>, dass ich vorher in ein char pointer einlese, text einfügen aber gibt es in c eine Funktion dafür? Muss man dabei etwas beachten, wenn ich etwas darin einfüge? Der Text soll wie gesagt in den body (oder nach dem <body> tag, wie auch immer) und dabei darf der Text aber nicht das HTML Dokument zerstören.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Etwas in char pointer einfügen?

Beitrag von cloidnerux » So Apr 17, 2016 9:25 am

text einfügen aber gibt es in c eine Funktion dafür?
Das Problem ist, dass ein char pointer, wie der Name schon sagt, ein pointer ist. Er zeigt auf ein Stück Speicher.
In diesem Speicher liegt dein Text:
"<html>\n<head>\n></head>\n<body>\n...</body>\n</html>"
Ich hab mal die Zeilenumbrüche explizit mit \n eingetragen. Willst du jetzt neuen Text eintragen, musst du diesen ja dazwischen schieben. Das geht aber nicht so einfach.
Was also gemacht werden muss:
1. Neuen Speicherblock reservieren, der beide Texte fassen kann.
2. Den alten Text bis zur Einfügestelle in den neuen Speicher kopieren.
3. Den einzufügenden Text dahinter kopieren
4. Den Rest vom Ursprungstext Kopieren.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Etwas in char pointer einfügen?

Beitrag von Xin » So Apr 17, 2016 10:29 am

Zenerid hat geschrieben:Ich würde gerne in ein HTML Dokument, um genauer zu sein in den <body>, dass ich vorher in ein char pointer einlese, text einfügen aber gibt es in c eine Funktion dafür? Muss man dabei etwas beachten, wenn ich etwas darin einfüge? Der Text soll wie gesagt in den body (oder nach dem <body> tag, wie auch immer) und dabei darf der Text aber nicht das HTML Dokument zerstören.
Die Funktion heißen strcpy bzw. memcpy.

Oder Du benutzt c++:

Code: Alles auswählen

result = std::string( "<html><body>" ) + content + "</body></html>";
Das sind ... praktische Lösungen, keine performanten. ;)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
oenone
Beiträge: 223
Registriert: Do Sep 01, 2011 2:42 pm
Wohnort: Bremen
Kontaktdaten:

Re: Etwas in char pointer einfügen?

Beitrag von oenone » Mi Jul 20, 2016 6:24 pm

oder du benutzt gleich etwas für die Anforderungen passenderes, wie z.B. libxml2 :P

Antworten