11/09/20 9:37
musical wrighter
Ciao a tutti, sto tentando di costruire una piccola app in ambiente Windows che dovrebbe raccogliere in un file di testo i nomi di tutti i file e le sottocartelle contenute nella directory in cui si trova l'eseguibile al momento dell'avvio. Quindi compreso se stesso e il file di testo. Poi una volta effettuata quest'operazione dovrebbe proseguire e fare anche altro ma dal momento che la riscrittura dei nomi dei file e delle sottocartelle già non funziona resto bloccato a questo punto ed è inutile aggiungere il resto. In pratica compila correttamente, e l'eseguibile quando ci clicco un file chiamato "appunti.txt" lo crea anche. Ma quando vado ad aprirlo col blocco note è completamente bianco. Dal txt mi aspettavo di leggere un nome di file per riga tipo
appunti.txt
lista.exe
eccetera. In questo caso tutti gli elementi presenti nella cartella release del mio progetto che si chiama lista. Dopo di che avrei completato il codice includendo anche le librerie fstream e string, il file "appunti.txt" doveva diventare un ifstream e il contenuto valori di stringhe letti tramite getline(appunti,nome_della_stringa);. Ma se mi sputa fuori un file completamente vuoto nulla di tutto questo si può fare.
Il codice che fin ora ho scritto è il seguente
#include <iostream>
using namespace std;
int main()
{
system("ls -name >appunti.txt"
}
Questa è la prima volta che uso un comando di sistema in c++ apparte pause. E chiedo sostanzialmente se sbaglio qualcosa nel riadattare la sintassi da riga di comando al linguaggio. Il simbolo di maggiore è interpretato correttamente perché crea un file di tipo testuale dandogli come nome il testo che si trova tra il maggiore e le chiuse virgolette. Mentre i comandi ls a quanto pare vanno scritti diversamente. Qualcuno mi sa dire quindi come? Grazie e buona giornata a tutti
Sto lavorando su un Windows 10 con Visualstudio2019. Ho provato a fare la stessa cosa anche con Visualstudio 2017 con le due apposite aggiunte necessarie perché compili in quest'ultimo ambiente ma il risultato è identico
appunti.txt
lista.exe
eccetera. In questo caso tutti gli elementi presenti nella cartella release del mio progetto che si chiama lista. Dopo di che avrei completato il codice includendo anche le librerie fstream e string, il file "appunti.txt" doveva diventare un ifstream e il contenuto valori di stringhe letti tramite getline(appunti,nome_della_stringa);. Ma se mi sputa fuori un file completamente vuoto nulla di tutto questo si può fare.
Il codice che fin ora ho scritto è il seguente
#include <iostream>
using namespace std;
int main()
{
system("ls -name >appunti.txt"
}
Questa è la prima volta che uso un comando di sistema in c++ apparte pause. E chiedo sostanzialmente se sbaglio qualcosa nel riadattare la sintassi da riga di comando al linguaggio. Il simbolo di maggiore è interpretato correttamente perché crea un file di tipo testuale dandogli come nome il testo che si trova tra il maggiore e le chiuse virgolette. Mentre i comandi ls a quanto pare vanno scritti diversamente. Qualcuno mi sa dire quindi come? Grazie e buona giornata a tutti
Sto lavorando su un Windows 10 con Visualstudio2019. Ho provato a fare la stessa cosa anche con Visualstudio 2017 con le due apposite aggiunte necessarie perché compili in quest'ultimo ambiente ma il risultato è identico
aaa