|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
Alcune cosette in C++
1) Mi interessa conoscere l'anno corrente . So della libreria time.h ma nn sono riuscito a farci nulla
2) Devo poter eseguire comandi dos da un applicazione consolle di c++ . Di solito faccio system ("comando dos"); Ma per fare cose più complesse ? Ad esempio devo creare una cartella ma prima devo verificare se già esiste come faccio ? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
2) Se il compilatore lo supporta c'è l'istruzione spawn (attenzione, non è standard)...con tutte le varianti come la exec...
1) Codice:
#include <time.h>
#include <stdio.h>
void main()
{
time_t ltime;
struct tm *today;
/* Get UNIX-style time and display as number and string. */
time( <ime );
/* Use time structure to build a customized time string. */
today = localtime( <ime );
printf( "Anno %d", today.tm_year);
}
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
ok e per vedere se una cartella esiste già o meno che comando eseguo ?
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
Nulla da fare cionci l'anno non va .... premetto che io uso Visual Studio .NET ma mi dice che today deve essere una classe . Ho anche provato a togliere il simbolo di puntatore ; a questo punto va ma mi da altri problemi
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
Ho provato così e mi va ma mi visualizza "70" e non 2004 perché ?
time_t tempo; struct tm *today ; today = localtime(&tempo); cout << today->tm_year; |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Perchè devi usare questo prima: time( <ime );
time inzializza ltime alla data corrente (in secondi dal 1/1/1970)...localtime converte la data corrente in secondi in data nella struttura tm... |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
che cretino mamma mia ..... ma cmq un problemino ancora ci sarebbe . ti spiego .... al posto del punto ho dovuto usare il referenziato ("->") ma questo nn è un problema . Solo che se uso i compilatori di Microsoft mi dicono di un errore riguardante il permesso in lettura mentre usando dev c++ fila tutto liscio ...
Cmq cionci riguardo alla questione della cartella ? Secondo te come potrei ovviare ? Io avevo pensato di eseguire il comando md cartella e di riversare l'output in un file . Poi mi vado a leggere il file e se trovo subdirectory già esistente so che già esiste . Il fatto è che il comando md non restituisce nulla in output ..... |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Create a new directory.
int mkdir( const char *dirname ); in direct.h...non so in quel libreria sia in mingw32... |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
Scusa ora ho aggiunto quella riga che avevo scordato e l'errore non me lo da più ma nn mi visualizza proprio nulla ... parlo sempre di compilatori microsoft
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ti diceva che la variabile non era stata inizializzata
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
No cionci mi dava un errore in runtime .... del tipo :
0x000000014 Impossibile leggere .... ecc .... Ora però non mi visualizza proprio niente |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
Ah cionci , altra cosetta . Volendo anche conoscere il giorno giuliano ?
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
lascia stare ho capito
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
Per deterimnare la dimensione di un file in byte come faccio ? A me interessa solo sapere se è vuoto o meno . Secondo te mi conviene aprire il file , scorrerlo per vedere quante righe contiene ? Credo ci sia di meglio .....
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Lo apri in lettura e fai:
fseek(f, 0, SEEK_END); la dimensione la ottieni con: ftell(f); |
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
Ho fatto cosi :
input.open("c:\\gpsdata\\2004\\rinex30s\\CERT0970.04n",ios::in); fseek(input,0,SEEK_END); cout << "la dimensione è " << ftell(input) << endl; input.close(); e mi da il seguente errore : 220 main.cpp cannot convert `input' from type `fstream' to type `FILE *' |
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
mi sa che l'oggetto da utilizzare deve essere di tipo FILE . Ma cos'è questo tipo ?
|
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Se usi la open sostituisci tell a ftell e lseek a fseek...
fopen & company (tute quelle con la f insomma) sono le funzioni della libreria standard per i file... |
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Azz...comunque non avevo visto che ti interessavo per il C++...
In C++ si usa la ifstream... Se ti interessa ti dico come si fa... |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:46.



















