datei problem ???

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
BLACK_AXE
Beiträge: 12
Registriert: Di Jan 19, 2010 7:09 pm

datei problem ???

Beitrag von BLACK_AXE » Di Jan 19, 2010 7:28 pm

Hey bin neu, hier könnt ihr mir helfen bei meinem Problem :

Ich möchte ein .txt wo der aktuelle benutzer steht auf den desktop speichern.so weit bin ich jetzt

Code: Alles auswählen

#include <stdio.h>
#include <stdlib.h>
int main (void)
{
  FILE *datei;
  char* cstrUsername;
  cstrUsername = getenv( "USERNAME" );  // Username auslesen

  datei = fopen ("C:/Users/HIER sollte USERNAME stehen /Desktop/Startup/testdatei.txt","w");
  if (datei != NULL)
    {
      fprintf (datei, "User logged on is: %s", cstrUsername);
      fclose (datei);
    }
  return 0;
}


jetzt sollte es halt so sein das man den Benutzernamen nicht eingeben muss.
auslesen von dem aktuellen benutzer hab ich geschaft aber diesen dan beim fopen einzufügen hat net geklapt , habs mit %USERNAME% probiert und noch paar sachen aber ohne erfolg.
habt ihr eine Idee ??

Benutzeravatar
+Fuss+
Beiträge: 385
Registriert: Fr Nov 14, 2008 8:16 pm

Re: datei problem ???

Beitrag von +Fuss+ » Di Jan 19, 2010 7:53 pm

Hallo,
Du musst die Strings erst mit einer anderen Funktion hintereinander hängen und dann den kompletten String an fopen übergeben. Dafür gibt es Funktionen wie z.B. strcat(string1, string2) die zwei Strings aneinander hängt oder sprintf(string_out, "Text%sText", string_in)

Genaue Beschreibungen dieser Funktionen findest du im Wiki.

Ansonsten: Willkommen bei proggen.org!

MfG Fuss

Edit: Hier noch ein Link http://tutorial.proggen.org/doku.php?id ... ing:strcat
Zu sprintf -> gibt es im wiki leider noch nicht, funktioniert aber im Grunde genau wie printf, nur das eben nicht in die Konsole sondern in einen String geschrieben wird.

BLACK_AXE
Beiträge: 12
Registriert: Di Jan 19, 2010 7:09 pm

Re: datei problem ???

Beitrag von BLACK_AXE » Di Jan 19, 2010 9:43 pm

ich habs jetzt mal mit sprintf versucht aber sobald ich %s oder sons irgendeine variable einsetze erkennt er es als ordner ?
und da es diesen ordner nicht gibt gehts nicht. vll. hab ich es ja falls verstanden hättest du ein bsp?

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

Re: datei problem ???

Beitrag von Xin » Di Jan 19, 2010 10:43 pm

*g*, ich glaube, hier liegt ein Missverständnis vor ^^

Aber erstmal willkommen im Forum.

Der Code sieht ja ansonsten schon ganz brauchbar aus...

Code: Alles auswählen

#include <stdio.h>
#include <stdlib.h>
int main (void)
{
  FILE *datei;

  /* Bitte keine ungarische Notation (cstrBla), das ist nicht nur aus der Mode, das war eigentlich schon immer dämlich */

  char* cstrUsername;   
  cstrUsername = getenv( "USERNAME" );  // Username auslesen

  char path[1024];
  sprintf( path, "C:\\Users\\%s\\Desktop\\Startup\\testdatei.txt", cstrUsername );

  datei = fopen ( path, "w+");
  if (datei != NULL)
    {
      fprintf (datei, "User logged on is: %s", cstrUsername);   // <- hier bleibt fprintf !
      fclose (datei);
    }
  return 0;
}


Nix getestet, also sollte Dein OS explodieren, dann bitte nicht beschweren ;-)
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.

BLACK_AXE
Beiträge: 12
Registriert: Di Jan 19, 2010 7:09 pm

Re: datei problem ???

Beitrag von BLACK_AXE » Di Jan 19, 2010 11:24 pm

HEY SUPER es funst. THX

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

Re: datei problem ???

Beitrag von Xin » Di Jan 19, 2010 11:38 pm

BLACK_AXE hat geschrieben:HEY SUPER es funst. THX
Dafür simma da.
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.

Antworten