C Array in HTML darstellen ?



  • Hallo zusammen, ich suche eine Möglichkeit um meine Daten die in einem Array unter C eingegeben worden sind, übersichtlich in einer HTML Datei darstellen zu lassen.

    z.B. Abfrage unter C: "möchten Sie die eingegebenen Daten in Html Darstellung aneigen lassen j/n?

    -> bei J sollte der Browser die Daten darstellen.

    Ist sowas überhaupt machbar???

    Danke für Eure Mühe im Vorraus

    Chris



  • Ich weiß nicht genau ob ich dein Problem richtig verstanden habe aber erstell doch einfach eine html datei mit

    stream = fopen("test.html", "w");
    

    und dann musst du dir halt mal anschauen wie man html seiten erstellt gibt es ja genug tutorials im net und dann schreibst halt in die datei alles nötige rein

    fprintf(stream, "<html>
    <head>
    <title> Test </title>
    </head>
    <body bgcolor = "#6868d0">
    Hallo
    </body>
    
    </html>");
    

    sollte eigentlich kein problem sein.
    Oder beschreib dein problem genauer
    Mfg schirrmie



  • hallo,

    eine möglichkeit wäre z. B., deine arraydaten in einer .html datei mit .html-tags auszugeben also

    fprintf(htmlfile,"<table>");
    for (i=0;i<MAX;i++)
    fprintf(htmlfile,"<tr><td>%d</td></tr>", array[i]);
    ........
    .
    .
    fprintf(htmlfile,"</table>");
    

    und nach dem schliessen der datei z.b
    ein

    system("pfad/zu/browser htmlfile");
    

    system ist aber nicht portabel, und deshalb sollte drauf verzichtet werden.

    zu machen!

    bash0r



  • Ja supi, danke für Eure Antworten,
    Mit den Ansätzen komme ich sicherlich schonmal weiter.

    Gruß Chris



  • Hallo nochmal, also folgendes, habe mir ein kleines struct gebastelt, welches
    mir zahl, autor, filmtitel bereitstellt

    #define MAX  4
    struct teil {
    			int zahl;
    			char autor[10];
    			char filmtitel[20];
    			}
    
    daten[MAX] = { 
    			{1, "Schmidt","Autobahn a8"},
    		        {2, "Meier	","Der lustige Pit"},
    			{3, "Adams","Als der Lurchi kam"},
                    {4, "Walter	","Spiel mir nen Song"}
    
    			};
    struct teil *z_teil; /* Deklariert einen Zeiger auf den Typ teil->*z_teil und eine Zähler-Variable ->count. */
    		int count;
    

    SO, wenn ich das jetzt normal ausgeben möchte mache ich das ja folgendermasen:

    int main()
    {
    
    	  z_teil = daten;  /* Initialisiert den Zeiger mit dem ersten Array-Element. */
    
    	      for (count = 0; count < MAX; count++) /* Durchläuft das Array und inkrementiert den Zeiger mit jeder Iteration */
    				  {
    				    printf("An Adresse %lu: %d %s %s\n", 
    	                (unsigned long)z_teil, z_teil->zahl, z_teil->autor, _teil->filmtitel); //Ausgabe der struct Werte
    					z_teil++;
    	    		  }
    
    return(0);
    

    wie ist es nun möglich die Zahl, den Autor und den Filmtitel in html auszugeben??

    Danke für Eure mühe im Vorrraus
    Grus Chris



  • Hi,

    probiers mal so:

    #include <stdio.h>
    #include <stdlib.h>
    
    #define MAX 4
    
    struct teil 
    {
    int zahl;
    char autor[10];
    char filmtitel[20];
    };
    
    int main()
    {
    	struct teil daten[MAX] = {
    {1, "Schmidt","Autobahn a8"},
    {2, "Meier ","Der lustige Pit"},
    {3, "Adams","Als der Lurchi kam"},
    {4, "Walter ","Spiel mir nen Song"}
    };
    
    	struct teil *z_teil; /* Deklariert einen Zeiger auf den Typ teil->*z_teil und eine Zähler-Variable ->count. */
    	int count;
    	FILE *fp;
    
    	if ((fp=fopen("dat.html","w")) == NULL )
    		return 1;
    
    	fprintf(fp,"<html><head><title></title></head><body><table border=\"1\">");
    
    	z_teil=(struct teil *)malloc(sizeof(struct teil)*MAX);
    	z_teil=daten;
    
    for (count = 0; count < MAX; count++) /* Durchläuft das Array und inkrementiert den Zeiger mit jeder Iteration */
    {
    	fprintf(fp,"<tr><td>An Adresse  %d %s %s</td></tr>\n", (z_teil+count)->zahl, (z_teil+count)->autor, (z_teil+count)->filmtitel); //Ausgabe der struct Werte
    }
    
    fprintf(fp,"</table></body></html>\n");
    fclose(fp);
    return 0;
    }
    

    Frohes Neues Jahr!

    b4sh0r



  • chris aus trudering?



  • Ja Hammer!! 1000 Dank auch!
    Dir auch nen guten Rutsch ins neue Jahr
    Danke für die Hilfe

    Grüßle
    Chris -> aus Stuttgart 😉



  • /bin/bash0R schrieb:

    system ist aber nicht portabel, und deshalb sollte drauf verzichtet werden.

    Das ist mir neu. Normalerweise sind nur die Befehle nicht protabel, die die meisten Leute bei system() angeben ;).

    @chris
    Hilfreich für HTML ist diese Seite: www.selfhtml.net
    Ansonsten kannst du auch hier im Web-Forum nachfragen, falls du mal nicht weiterkommst was HTML usw. betrifft.



  • /bin/bash0R schrieb:

    system ist aber nicht portabel, und deshalb sollte drauf verzichtet werden.

    system ist ANSI C, der Inhalt ist vielleicht nicht portabel, aber das ist nicht das große Problem. Mit system kann man sehr böse Sachen machen, bsp pfad ändern, kleines Skript (bsp: soll alles löschen) schrieben, das der Name des in system geschriebenes Befehls bekommt, und Programm ausführen und dann heulen.


Anmelden zum Antworten