Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
Kommentar vom Moderator Biber am 10.05.2012 um 12:04:47 Uhr
Umbennen einer Datei falls bereits eine Datei mit diesem Namen besteht.
Set /a rgc+=1
#820
GELÖST

Umbennen einer Datei falls bereits eine Datei mit diesem Namen besteht.

Frage Entwicklung C und C++

Mitglied: raphidue

raphidue (Level 1) - Jetzt verbinden

10.05.2012, aktualisiert 17:36 Uhr, 2119 Aufrufe, 1 Kommentar

Hallo zusammen,
ich überlege mir schon seit ein paar Stunden um die Umbenennung meiner erzeugter Dateien falls diese Dateinamen schon vorhanden sind.

Ich habe ein Programm geschrieben welches Matrizen erzeugt und per fopen und fprintf in eine Datei schreibt, funktioniert alles wunderbar.
Momentan: Bei jedem Aufruf wird eine Datei erzeugt mit dem Namen "matrix1" beim nächsten Aufruf würde die Datei mit dem Namen "matrix1" überschrieben werden.
Ziel:Bei jedem Aufruf soll eine neue Datei erstellt werden und der Dateiname fortlaufend sein. D.h nun dass beim 2. Aufruf die Datei auf "matrix2" beim 3. Aufruf "matrix3" umbenannt werden soll u.s.w Hier mal mein Codeabschnitt wo es um das schreiben in eine Datei geht:

01.
/* open 'matrix_1' file */ 
02.
  f = fopen ("matrix_1", "w"); 
03.
  if (f == NULL) 
04.
05.
    printf("\nDatei konnte nicht gefunden werden!\n"); 
06.
    exit(1); 
07.
08.
  printf("Matrix wird erzeugt und in die Datei matrix_1 geschrieben.\n"); 
09.
  /* create matrix with random generated numbers */ 
10.
  for( i = 0; i < rows; i++) 
11.
12.
    for(j = 0; j < cols; j++) 
13.
14.
    /* Erzeugung von Zufallszahlen und in num gespeichert */ 
15.
    printf("%.2f ", num); 
16.
    fprintf(f,"%.2f ", num); 
17.
18.
    printf("\n"); 
19.
    fprintf(f,"\n"); 
20.
21.
  fclose(f);
Danke im Vorraus!
greeze
Mitglied: hmarkus
10.05.2012 um 21:28 Uhr
Hallo,

Du kannst folgendermaßen vorgehen,
1) erzeuge eine Variable mnumber (Nummer der Matrix) und
2) generiere daraus den Namen der Matrix, also mnumber = 1, dann wird mname = Matrix_1
3) prüfe ob die Datei besteht, und das in einer Schleife
01.
int mnumber = 1;  /* die Nummer 1 */ 
02.
mname = filename("Matrix", mnumber) ;  /* der Dateiname mit der Nummer 1 */ 
03.
while (fopen(mname, "r")) {     /* öffne die Datei zum lesen, wenn sie sich öffnen lässt, dann existiert sie bereits */ 
04.
          fclose mname;           /* schließe die Datei wieder */ 
05.
          mname = filename("Matrix", mnumber++) ;         /* und generiere den Dateinamen für die inkrementierte Zahl mnumber */ 
06.
            
07.
08.
fopen(mname "w");  /* der zuletzt in der Schleife erzeuge Dateiname existiert noch nicht, also öffnen zum schreiben */
Du brauchst also eine Funktion filename, die aus der Zahl und dem Wort "Matrix" den Dateinamen generiert und Du musst herausfinden, wie Du diese Variable korrekt an fopen übergibst.

Markus
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateien im Ordner auslesen und umbennen (10)

Frage von jocheng zum Thema Batch & Shell ...

Batch & Shell
Dateien umbennen und verschieben mit bash (3)

Frage von sbsnewbie zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordner und Datei Name gleich (BATCH) (12)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateien bezugnehmend auf Teil des Namens verschieben (8)

Frage von pbelcl zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
gelöst Raid-Controller (Areca) Datenverlust trotz R5 (13)

Frage von sebastian2608 zum Thema Festplatten, SSD, Raid ...

Webentwicklung
Aktuellen Mitarbeiter auf Homepage anzeigen (13)

Frage von alemanne21 zum Thema Webentwicklung ...

Microsoft Office
Office 365 Pro Domäne einrichten OHNE Webseite (8)

Frage von thklemm zum Thema Microsoft Office ...

Server-Hardware
Starker PC zum Virtualisieren (8)

Frage von canlot zum Thema Server-Hardware ...