Argumenty wiersza poleceń c++

0

Witam wszystkich
Na wstępie powiem że jestem zielony w c++.
Napisałem prosty program który miał wpisać słowo podane w wierszu poleceń (argument funkcji main) i nie wiem czemu program tego nie chce zrobić może jakiś bardziej doświadczony programista mógłby by mi to wytłumaczyć.
A to program

#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
int main(int argc,char* argv[])
{
fstream plik;
plik.open("test.txt",ios::out);
plik<<argv[1];                               // Tu ma wpisać ale tego nie robi
cout<<argv[1];	                            //Ale tutaj wypisuje to co ma wpisać
plik.close() ;
}
0

Z ciekawości odpaliłem ten programik u siebie i działa bez problemu...
Jesteś pewien, że wywołujesz swój program z konsoli? Że wywołujesz go w prawidłowy sposób? W jaki?

0
Bartosz36 napisał(a):

Z ciekawości odpaliłem ten programik u siebie i działa bez problemu...
Jesteś pewien, że wywołujesz swój program z konsoli? Że wywołujesz go w prawidłowy sposób? W jaki?

Wydaje mi się że dobrze ale pewny nie jestem, wywołuje go tak:
Włączam konsole cmd wpisuje nazwę ścieszkę dostępu potem spacja i jakieś słowo.

0

A czy w konsoli widzisz to, co powinno wypisać Ci cout << argv[1], które masz w kodzie?

0
Bartosz36 napisał(a):

A czy w konsoli widzisz to, co powinno wypisać Ci cout << argv[1], które masz w kodzie?
Dokładnie tak specjalnie dodałem tą linijkę żeby sprawdzić czy dobrze wpisuje. I to co wpisze jest wypisywane na ekranie ale do pliku nie jest wpisywane.

0

U mnie także działa poprawnie. Generalnie ten problem nie może mieć związku z argumentami linii poleceń. Sprawdź, czy w ogóle możesz pisać do plików.

0

Jak napiszę np taki program:

#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
int main()
{
	string x="test";
fstream plik;
plik.open("test.txt",ios::out);
plik<<x;	
plik.close() ;
}

to wszytko działa bez problemu i wpisuje słowo "test" do pliku test.txt
ale wcześniejszy program nadal u mnie nie działa.

0

A sprawdź w ogóle czy otwarcie pliku się powiodło.
fstream::is_open

1 użytkowników online, w tym zalogowanych: 0, gości: 1