08. oktober 2005 - 14:44
Der er
17 kommentarer og 1 løsning
Hent Bibliotek programmet ligger i
Hej! Et nemt spørgsmål, hvordan får jeg programmet til at finde sin egen sti, altså der hvor man nu har placeret det.
Annonceindlæg fra NetApp
08. oktober 2005 - 14:58
#1
Hvis der er på windows: #include <iostream> #include <windows.h> int main() { char Path[1024], Drive[1024], Dir[1024]; GetModuleFileName(0, Path, sizeof(Path)); _splitpath(Path, Drive, Dir, 0, 0); strcat(Drive, Dir); std::cout << "MyDir: " << Drive << std::endl; } Nogen kompilere vil måske ikke have _ foran splitpath
08. oktober 2005 - 15:24
#2
nogen compilere vil have fuld sti til exe i argv[0]
08. oktober 2005 - 15:58
#3
Ja, programmer kompileret med Digital Mars eller BorlandC++ ser ud til at have fuld sti i argv[0] Programmer kompileret med gcc og VisualC++ har ikke, her får man så vidt jeg kan se, det brugeren har skrevet for at køre programmet råt.
08. oktober 2005 - 16:43
#4
takker Bertel!
Det var jo lige det som jeg skulle bruge!
Et tillægsspørgmål, er der også en smart måde at få System Tiden på!
Læg et svar her og hvad skal jeg gører med den anden
http://www.eksperten.dk/spm/653140
08. oktober 2005 - 16:54
#5
ANSI C/C++: time() (kan formateres med localtime/ctime/asctime/strftime)
08. oktober 2005 - 16:55
#6
Win32: GetLocalTime
08. oktober 2005 - 16:59
#7
ikke helt med 'Hvad skal jeg med det
08. oktober 2005 - 17:04
#8
du spurgte om hvordan du fik system tiden ...
08. oktober 2005 - 17:07
#9
eksmepler: #include <time.h> #include <stdio.h> int main() { time_t t; struct tm *ts; t=time(NULL); ts=localtime(&t); printf("It is %02d/%02d/%04d %02d:%02d",ts->tm_mday,ts->tm_mon,1900+ts->tm_year,ts->tm_hour,ts->tm_min); return 0; } #include <iostream> #include <ctime> using namespace std; int main() { time_t t = time(NULL); cout << ctime(&t) << endl; char buf[33]; strftime(buf,sizeof(buf),"%d-%m-%Y %H:%M:%S",localtime(&t)); cout << buf << endl; return 0; } #include <windows.h> #include <wininet.h> int main() { SYSTEMTIME t; char buf[INTERNET_RFC1123_BUFSIZE]; GetLocalTime(&t); InternetTimeFromSystemTime(&t,INTERNET_RFC1123_FORMAT,buf,sizeof(buf)); printf("%s\n",buf); return 0; }
08. oktober 2005 - 20:13
#10
Jeg samler ikke på point. Det betyder at du selv tager de point tilbage som jeg skulle have. Det gør du ved lave et svar selv og acceptere det. I dette spørgsmål bør du give Arne point for hans time() eksempler (hvis det løste dit problem, hvis ikke, så fortæl lige hvad du ikke forstod). I det andet spørgsmål tager du bare dine point tilbage.
09. oktober 2005 - 11:31
#11
'Okay Bertel, det gør jeg bare! Så Arne læg du et svar her ?? Fortsat god søndag
09. oktober 2005 - 11:40
#12
gerne
09. oktober 2005 - 14:08
#13
Hvad for en Time bruger den, jeg får nemlig den 9/9/2005
09. oktober 2005 - 14:11
#14
hvad for en af dem ? det ligner et tilfælde af at måned er 0-11 og ikke 1-12
09. oktober 2005 - 14:13
#15
Den øverste: Altså denne int main() { time_t t; struct tm *ts; t=time(NULL); ts=localtime(&t); printf("It is %02d/%02d/%04d %02d:%02d",ts->tm_mday,ts->tm_mon,1900+ts->tm_year,ts->tm_hour,ts->tm_min); return 0; }
09. oktober 2005 - 14:16
#16
min fejl printf("It is %02d/%02d/%04d %02d:%02d",ts->tm_mday,1+ts->tm_mon,1900+ts->tm_year,ts->tm_hour,ts->tm_min);
09. oktober 2005 - 14:16
#17
tm_mon er 0-11 ikke 1-12
09. oktober 2005 - 14:18
#18
okay, det er vi så enige om! takker for svaret
Kurser inden for grundlæggende programmering