kizia Temat założony przez niniejszego użytkownika |
[C++] Ścieżka do pliku » 2010-06-10 21:39:11 Muszę zapisać/odczytać plik ze ścieżki, której nazwę ostatniego folderu oraz nazwę pliku wpiszę użytkownik. Nie stety nawet nie wiem jak zapisać plik ze ścieżką + nazwą pliku, a jeszcze do tego dochodzi nazwa ostatniego folderu. Proszę o pomoc. |
|
ison |
» 2010-06-10 21:54:36 nie wiem co rozumiesz przez 'nazwę ostatniego folderu'. O coś takiego ci chodziło? scanf( "%s", sciezka ); ifstream in( sciezka ); in >>...;
albo scanf( "%s", nazwa_pliku ); sprintf( sciezka, "C:/Program Files/%s", nazwa_pliku ); ifstream in( sciezka ); in >>...;
jeśli chcesz znać scieżkę twojego programu int main( int argc, char * argv[] ) { printf( "Sciezka pliku to: %s\n", argv[ 0 ] ); }
|
|
kizia Temat założony przez niniejszego użytkownika |
» 2010-06-10 23:35:39 Nie pomyślałem, a myślałem :D o tym że kompilator mi stworzy folder tak jak tworzy plik. (ios::out) A więc muszę ten folder stworzyć ;p, tylko nie mam pojęcia jak. Dzięki za to kopiowanie. EDIT : Pobrałem adres programu tą funkcją printf, tylko że ona podaje mi aż do .exe, a ja bym chciał tak, żeby uzyskać adres do folderu w,którym plik.exe się znajduje (C:/Program Files/folder/gra.exe) Czyli w tym wypadku do folder |
|
malan |
» 2010-06-10 23:49:40 Oj Wy lenie jedne ;p. Tak ciężko kombinować? Ja nie wiem no ;p. #include <iostream> #include <string>
int main( int argc, char * argv[] ) { if( argc > 1 ) return 1; std::string CurrentPath; int temp = 0; CurrentPath = argv[ 0 ]; temp = CurrentPath.rfind( "\\" ); if( temp != std::string::npos ) CurrentPath = CurrentPath.substr( 0, temp + 1 ); std::cout << CurrentPath; return 0; }; Dobry dzień dziś mam. |
|
kizia Temat założony przez niniejszego użytkownika |
» 2010-06-10 23:54:32 Tylko powiedz co funkcja 'rfind' robi. ;p I odrazy, dlaczego Ty nie używasz przestrzeni nazw 'using namespace std ;' chyba lepiej 3 wyrazy wpisać niż przy co drugim wierszu pisac std:: xd EDIT : nie tylko rfind. lepiej opisz cały program :D Tak wogóle to mam nadal problem z tą ścieżką, iż jak robie w ten sposób : char sciezka[ 100 ] = "C:\lolek\gra" ofstream konta( sciezka, ios::out ); To on mi tworzy plik w tym folderze z plikiem.exe o nazwie ścieżki. |
|
malan |
» 2010-06-11 00:02:07 No nie załamuj mnie ;p. To przecież jest prosty program..., tzn. "program". ... i jedziesz :). /edit char sciezka[ 100 ] = "C:/lolek/gra/cośtam.txt"; ? |
|
kizia Temat założony przez niniejszego użytkownika |
» 2010-06-11 00:11:58 Dobra ścieżka załatwiona. Jeszcze powiedz mi czy ciężko stworzyć folder, a jeżeli łatwo to w jaki sposób ? |
|
Elaine |
» 2010-06-11 08:00:51 I dobrze, że nie używa using namespace - jak kiedyś napiszesz coś większego, to docenisz przestrzenie nazw i zobaczysz, dlaczego using namespace to zwykle kijowy pomysł. |
|
« 1 » 2 3 |