Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
Con Midnight, Blizzard tenta il colpaccio: il player housing sbarca finalmente su Azeroth insieme a una Quel'Thalas ricostruita da zero. Tra il dramma della famiglia Ventolesto e il nuovo Prey System, ecco com'è la nuova espansione di World of Warcraft
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-04-2012, 16:30   #1
andros94
Member
 
Iscritto dal: Feb 2010
Messaggi: 57
[C]avere nome eseguibile

ho un problema con un programma per win che sto scrivedo...ho necessita di avere il nome dell' eseguibile, ho bisogno di una funzione simile a GetModuleFileName () ma senza percorso completo solo il nome del programma
qualcuno puo aiutarmi ??

Ultima modifica di andros94 : 24-04-2012 alle 16:42.
andros94 è offline   Rispondi citando il messaggio o parte di esso
Old 24-04-2012, 19:31   #2
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Codice:
int main(int argn, char ** argp){
    printf("%s\n", argp[0]);
}
char ** argp contiene gli argomenti passati da linea di comando e il primo argomento, cioè l'elemento argp[0] è il nome dell'eseguibile
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 24-04-2012, 21:04   #3
__ZERO_UNO__
Member
 
L'Avatar di __ZERO_UNO__
 
Iscritto dal: Jul 2009
Città: Milano
Messaggi: 270
Ho pensato che potevi usare __FILE__, che funziona anche con file di libreria, ma vuoi il nome del file compilato. :P
__________________

AMD PII x4 955 BE | Sapphire HD4850 Vapor-X 1 GB | Samsung SpinPoint F1 500GB | Samsung EcoGreen F4 2TB
Gigabyte GA-MA790FXT-UD5P | Fractal Design Define R3 USB3.0 Titanium Grey | CORSAIR 650W CMPSU-650TX
Noctua U12P SE2 | 2 x 2GB Kingston 1333 MHz | Samsung SyncMaster P2450 | Samsung SyncMaster T200

Ultima modifica di __ZERO_UNO__ : 24-04-2012 alle 21:10.
__ZERO_UNO__ è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2012, 08:30   #4
andros94
Member
 
Iscritto dal: Feb 2010
Messaggi: 57
Quote:
Originariamente inviato da clockover Guarda i messaggi
Codice:
int main(int argn, char ** argp){
    printf("%s\n", argp[0]);
}
char ** argp contiene gli argomenti passati da linea di comando e il primo argomento, cioè l'elemento argp[0] è il nome dell'eseguibile
con questo codice mi viene stampato il pecoso del eseguibile, non il nome
andros94 è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2012, 09:10   #5
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Quote:
Originariamente inviato da andros94 Guarda i messaggi
con questo codice mi viene stampato il pecoso del eseguibile, non il nome
si ma quel percorso non comprende anche il nome dell'eseguibile?
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2012, 09:52   #6
andros94
Member
 
Iscritto dal: Feb 2010
Messaggi: 57
a me serve SOLO il nome dell' eseguibile, altrimenti avrei usato la funzione GetModuleFileName()
andros94 è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2012, 12:02   #7
lorenzo001
Senior Member
 
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
Quote:
Originariamente inviato da andros94 Guarda i messaggi
a me serve SOLO il nome dell' eseguibile, altrimenti avrei usato la funzione GetModuleFileName()
Parti dalla stringa con il percorso e con qualche riga arrivi al nome

Codice:
	char *name = strrev(argv[0]);
	*(strchr(name, '\\')) = 0;
	strrev(name);

	printf("%s\n", name);
In ogni caso, la GetModuleFileName lavora solo con Windows.
lorenzo001 è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2012, 12:50   #8
andros94
Member
 
Iscritto dal: Feb 2010
Messaggi: 57
grazie per il codice...funziona, ma non ho capito cosa fa essattamente questa riga
Codice:
	*(strchr(name, '\\')) = 0;
andros94 è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2012, 18:45   #9
lorenzo001
Senior Member
 
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
Cerca il primo carattere \ nella stringa e lo sostituisce con un NUL
lorenzo001 è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2012, 19:10   #10
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Anche una cosa del genere altrimenti
Codice:
char * tmp = argp[0] + (strlen(argp[0]) - 1);
while(*(tmp - 1) != '/')*tmp--;
sono su linux per questo ho utilizzato '/' per l'esempio
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2012, 19:06   #11
redatim
Junior Member
 
Iscritto dal: Sep 2001
Messaggi: 7
Puoi usare la funzione basename (presente in linux e mingw32) oppure la _split (presente solo su windows) http://msdn.microsoft.com/en-us/library/e737s6tf.aspx
redatim è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Il CMF Phone 3 Pro sta arrivando: tra le...
Le migliori offerte Amazon di oggi: robo...
Altro che ridimensionamento: OnePlus sta...
YouTube batte Netflix come rivale della ...
I nuovi ASUS ROG Zephyrus G14 e G16 (202...
Meno di 200€ per un robot aspirapolvere ...
La CPU torna protagonista: 400 milioni s...
Il nuovo pannello OLED top di gamma di S...
Offerte LEGO Amazon: Formula 1, Harry Po...
Il Motorola Edge 70 Pro sta arrivando e ...
Amazon pronta a sfidare NVIDIA? La lette...
L'IA ridurrà drasticamente il lav...
Il primo pieghevole di Apple sta arrivan...
Altera estende il supporto ufficiale per...
GPU NVIDIA e connettori che si sciolgono...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:53.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v