• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Plik bat, odpalenie pliku exe, nie widzi plików

Object Storage Arubacloud
0 głosów
464 wizyt
pytanie zadane 19 września 2021 w C i C++ przez Jan Rubach Nowicjusz (160 p.)

Cześć :D W c++ mam aktualnie napisany następujący kod:

#include <iostream>
#include <fstream>

using namespace std;
int x;

int main()
{
    fstream file;
    file.open("plik.txt",ios::in);
    string s;

    if(file.good()){
    while(!file.eof()){
        file>>s;
        cout<<s;
    }
    }else{
        cout<<"Nie ma takiego pliku"<<endl;
    }
    file.close();
    cin>>x;
    return 0;
}

Wszystko ładnie śmiga. Chciałbym teraz móc odpalić program za pomocą pliku bat. W związku z tym napisałem następujący kod:

START C:\Users\janke\Desktop\helloWorld\bin\Debug\helloWorld.exe 

Ścieżka prowadzi do katalogu debug gdzie znajduje się plik exe oraz plik file.txt. 

W momencie kiedy odpalam plik bezpośrednio klikając na exe wszystko działa. Jednak kiedy używam pliku bat wszystko się komplikuje i program nie działa. A właściwie działa tylko okazuje się że nie widzi pliku file.txt 

Ma ktoś pomysł co robię nie tak? Z góry bardzo dziękuję za pomoc :D

 

1 odpowiedź

0 głosów
odpowiedź 19 września 2021 przez Jan Rubach Nowicjusz (160 p.)
Przed chwilą znalazłem odpowiedź. Okazało się że plik file.txt musi znajdować się w tym samym katalogu co bat.
komentarz 19 września 2021 przez tkz Nałogowiec (42,000 p.)
Nie co bat, a co exe.
1
komentarz 19 września 2021 przez Oscar Nałogowiec (29,290 p.)
Ani to ani to. Plik musi się znajdować w katalogu bieżącym w momencie uruchamiania bat. W programie plik jest otwierany z podaniem samej nazwy, więc jest szukany jedynie w katalogu bieżącym procesu. Gdzie jest katalog bieżący, jak się coś uruchamia kliknięciem na ikonkę to dokładnie nie wiem, pewnie to zależy od rodzaju ikonki (bezpośrednio program, czy np. dokument powiązany z programem). Jeśli plik bat albo exe uruchamia się z podaniem pełnej ścieżki to można to zrobić praktycznie z dowolnego katalogu i to ten katalog będzie bieżącym.
komentarz 19 września 2021 przez tkz Nałogowiec (42,000 p.)
Z tego co wiem w C++ szukanie pliku odbywa się w tym samym miejscu gdzie jest uruchamiany plik exe. Oczywiście o ile nie jest ustawiona ścieżka w samym kodzie. W kodzie powyżej będzie to, to samo miejsce co exe.

Podobne pytania

+1 głos
2 odpowiedzi 628 wizyt
pytanie zadane 5 marca 2021 w Inne języki przez Rafaello733 Nowicjusz (240 p.)
0 głosów
1 odpowiedź 1,226 wizyt
pytanie zadane 21 października 2016 w Systemy operacyjne, programy przez Matty Nowicjusz (150 p.)
0 głosów
1 odpowiedź 873 wizyt
pytanie zadane 24 kwietnia 2019 w JavaScript przez Milo Obywatel (1,180 p.)

92,536 zapytań

141,377 odpowiedzi

319,456 komentarzy

61,922 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...