Verschiedene Infos in ne txt schreiben

Adi | tmine

Erfahrenes Mitglied
hi Leute
Ich wollte für unsere Supportline im Geschäft n kleines Progrämmchen schreiben.
Dort soll man folgendes erfassen können:
1. Es soll ein menu geben, in dem man unter verschiedenem aushlen kann. (Das krieg ich auch selber hin)^^
2. Unter dem Menupunkt neu erfassen, sollen dann verschiedene Sachen gefragt werden:
Name, Zeit, Thema, ...
3. Diese Sachen werden dann von dem, der Hotline hat erfasst, und eingegeben. Diese Infos wollen nun in eine txt geschrieben werde.(hier weiss ich nicht mehr weiter , kann mir einer sagen wie ich eingeben immer zu unterst in ne txt schreibe)
4. Der Vorgang soll man wiederholen können, darum muss immer zuunterst in die txt geschrieben werden.


thx schon mal fürs lesen
 
bis jetzt habe ich folgenden Code , der will aber irgendwie nicht gehen :( irgendwie bin ich heute nicht so auf der höhe

Code:
#include <stdio.h>
#include <string.h>
#include <conio.h>

int main (void){
    int neu=1;
    char name[20], problem[70], an[20];
    
    printf("HELPLINE\n\n");
    printf("MENU:\n");
    printf("1. Neu erfassen\n");
    printf("2. weiterleiten! \n");
    neu=getch();
    switch (neu){
           case '1':
           printf("Name:\n");
           scanf("%d", &name);
           printf("Problem:\n");
           scanf("%d", &problem);
           break;
           case '2':
           printf("Name:\n");
           scanf("%d", &name);
           printf("Weiterleiten an:\n");
           scanf("%d", &an);
           break;
    }
    printf("%c, %c ", name, problem);
}
 
Hallo!

Wo liest du denn in deinen Code 1 und 2 ein? Du machst ein switch-case mit 1 und 2, aber du kommst nie auf die 2, weil diese Zahl wird ja nie eingelesen (z.B. mit scanf). Ist das dein Problem?


Gruß Buba

(Außerdem gibt es die conio.h nur bei Borland)
 
Zuletzt bearbeitet:
hiho
Danke für die Antwort
nein die Zahl wird mit neu=getch(); eingelesen. Das Problem ist nur das ich nicht weiss, wie ich den string in die txt schreiben kann.
Also per:
Code:
data=malloc(5000);
    errorlog = fopen ("error.log","a+");
    strcpy(data, "Name:\n%s\n\n Problem:\n%s",name , problem);
    fprintf (errorlog, "%s\n",data);
kann ich doch den String "Name:\n%s\n\n Problem:\n%s",name , problem); in die error.log schreiben, oder halt irgendwas.txt, aber irgendwie will das nicht gehen. Leider
 
Was tritt denn für ein Fehler auf ?
Der Einfachheit halber würde ich die Ausgabe direkt im fprintf zusammenbauen.
 
der compiler sagt irgendwas von zu vielen argumenten in
Code:
strcpy(data, "Name:\n%s\n\n Problem:\n%s",name , problem);

sonst nix
 
Hallo!


Soweit ich weiß hat das %s da an dieser Stelle auch nichts zu suchen. Es müsste eher so lauten:

Code:
strcpy(data, "Name:\n", "%s", "\n\n", "Problem:\n", "%s", name , problem);
 
Du benutzt das strcpy falsch! Sieh dir doch mal die Hilöfe dazu an. Ich geb dir mal ein Beispiel:


Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[]) {
   char ziel_str[50];
   char str1[] = "Das ist ";
   char str2[] = "ein ";
   char str3[] = "Teststring";
   strcpy(ziel_str, str1);
   /* Ein umständliches Negativbeispiel */
   strcpy(&ziel_str[8], str2);
   /* So ist es einfacher und sicherer */
   strcat(ziel_str, str3);
   printf("%s\n",ziel_str);
   return EXIT_SUCCESS;
}

Das ist die Syntax von strcpy:

Code:
char *strcpy(char *s1, const char *s2);
 
sry aber ich raffs irgendwie nicht. :(
Ich will doch einfach das
Code:
Name:\n", "%s", "\n\n", "Problem:\n", "%s", name , problem
in ein .txt file schreiben
 
Zurück