|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2003
Città: verona
Messaggi: 541
|
salvare file in C
Salve a tutti..sono abbastanza nuovo nel mondo della programmazione e quindi se fosse possibile evitare insulti..
__________________
CASE: Cooler Master Stacker 831 Silver MOBO: Asus Maximus Formula CPU: Intel Q6600@2,4ghz RAM: 2x 1GB Corsair XMS2 pc2-8500@1066mhz + 2x2GB Corsair XMS2 pc2-8500@1066mhzVGA: ATI Sapphire RADEON 5830 1GB GDDR5 HD: 2 x WD Caviar SE16 500GB Raid 0 |
|
|
|
|
|
#2 | ||
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Quote:
f = fopen ("C:\\TEMP\\prova.txt", "w"); Se vuoi ottenere "programmaticamente" il percorso di certe cartelle specifiche di Windows (es. il desktop, la directory di Windows, ecc...), allora devi usare delle funzioni specifiche del sistema.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
||
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Aug 2003
Città: verona
Messaggi: 541
|
uhm..beh questa risposta mi è molto utile!..grazie..però..io come NOMEFILE ho messo una variabile che è un vettore di caratteri definito dall'utente..così poi il file ha il nome che sceglie chi esegue il programma..
f = fopen ("C:\\TEMP\\NOMEFILE", "w"); dove invece del nome predefinito c'è il nome scelto dall'utente?
__________________
CASE: Cooler Master Stacker 831 Silver MOBO: Asus Maximus Formula CPU: Intel Q6600@2,4ghz RAM: 2x 1GB Corsair XMS2 pc2-8500@1066mhz + 2x2GB Corsair XMS2 pc2-8500@1066mhzVGA: ATI Sapphire RADEON 5830 1GB GDDR5 HD: 2 x WD Caviar SE16 500GB Raid 0 |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Se vuoi che sia l'utente a specificare il nome del file, puoi fare: Codice:
char nomefile[200];
FILE *f;
printf ("Dammi il nome del file: ");
scanf ("%s", nomefile);
f = fopen (nomefile, "w");
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Aug 2003
Città: verona
Messaggi: 541
|
no ma appunto...forse sono io che non capisco...come faccio a usare entrambe queste caratteristiche? cioè a chiedere il nome all'utente e a mettere nel codice del programma una directory predefinita diversa da quella dove risiede il programma stesso?..è possibile? prometto che poi vado a fare pratica
__________________
CASE: Cooler Master Stacker 831 Silver MOBO: Asus Maximus Formula CPU: Intel Q6600@2,4ghz RAM: 2x 1GB Corsair XMS2 pc2-8500@1066mhz + 2x2GB Corsair XMS2 pc2-8500@1066mhzVGA: ATI Sapphire RADEON 5830 1GB GDDR5 HD: 2 x WD Caviar SE16 500GB Raid 0 |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Se vuoi potresti chiedere all'utente solamente un nome e basta, il path completo poi lo componi tu nel programma. Codice:
#include <stdio.h>
#include <string.h>
....
char nomefile[40];
char path[200];
FILE *f;
printf ("Dammi solo il nome del file: ");
scanf ("%s", nomefile);
strcpy (path, "C:\\TEMP\\");
strcat (path, nomefile);
f = fopen (path, "w");
Certo ... l'utente potrebbe essere scaltro da inserire "..\pippo.txt" e in questo caso il file verrebbe aperto nella C:\. Ma qui si tratta sempre di stabilire cosa l'utente debba/possa fare o meno.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Aug 2003
Città: verona
Messaggi: 541
|
ecco ora so come fare!!! grazie mille
__________________
CASE: Cooler Master Stacker 831 Silver MOBO: Asus Maximus Formula CPU: Intel Q6600@2,4ghz RAM: 2x 1GB Corsair XMS2 pc2-8500@1066mhz + 2x2GB Corsair XMS2 pc2-8500@1066mhzVGA: ATI Sapphire RADEON 5830 1GB GDDR5 HD: 2 x WD Caviar SE16 500GB Raid 0 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:53.



















