Seite 1 von 1

datei problem ???

Verfasst: Di Jan 19, 2010 7:28 pm
von BLACK_AXE
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 ??

Re: datei problem ???

Verfasst: Di Jan 19, 2010 7:53 pm
von +Fuss+
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.

Re: datei problem ???

Verfasst: Di Jan 19, 2010 9:43 pm
von BLACK_AXE
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?

Re: datei problem ???

Verfasst: Di Jan 19, 2010 10:43 pm
von Xin
*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 ;-)

Re: datei problem ???

Verfasst: Di Jan 19, 2010 11:24 pm
von BLACK_AXE
HEY SUPER es funst. THX

Re: datei problem ???

Verfasst: Di Jan 19, 2010 11:38 pm
von Xin
BLACK_AXE hat geschrieben:HEY SUPER es funst. THX
Dafür simma da.