Jump to content

Witaj!

Zaloguj lub Zarejestruj się aby uzyskać pełny dostęp do forum.

Photo
- - - - -

C++ biblioteka ,,fstream'' nie mogę odnaleźć pliku tekstowego


  • Please log in to reply
5 replies to this topic

#1 gegtor

gegtor
  • 76 posts
  • SkądWrocław

Posted 04 March 2015 - 18:03

kod wygląda następująco:

#include <iostream>

#include <fstream>

 

using namespace std;

 

string imie, nazwisko;

int nr_tel;

 

int main()

{

    cout << "Witaj w programie który zapiszę twoję dane w pliku tekstowym" << endl;

    cout << "podaj imie: ";

    cin >> imie;

    cout << "podaj nazwisko: ";

    cin >> nazwisko;

    cout << "podaj numer telefonu: ";

    cin >> nr_tel;

    

    fstream file;

    

    file.open("wizy.txt, ios::out"); 

    

    file << imie << endl;

    file << nazwisko << endl;

    file << nr_tel << endl;

    

    file.close();

    

    return 0;

}

 

po sprawdzeniu problemu w internecie próbowałem zmienić Working Directory jak na obrazku

lecz pliku nie było 

 

jeszcze próbowałem zmienić rozszerzenie pliku z txt na rtf ale też nic 


Edited by gegtor, 04 March 2015 - 18:05.


#2 BW:*|4fun

BW:*|4fun
  • 66 posts

Posted 05 March 2015 - 22:29

2 rzeczy mogą tu wchodzić w gre, ale nie mam przed sobą komputera wiec jako mało doświadczony programista moge sie mylić.

file.open("wizy.txt" , std::ios::out); // w Twoim kodzie za duzo znalazlo sie pomiędzy " "

2 rzecz, na Mac OS X jak podasz w cudzysłowiu sama nazwę pliku a nie ścieżkę to plik nie zostanie utworzony w katalogu gdzie znajduje sie Twój program wykonywalny, lecz w katalogu głównym (tym o nazwie użytkownika/konta). Wiec tam powinna byc moim zdaniem kreska \ albo odwrotna / nie pamietam, czyli "/wizy.txt"

Mam nadzieje, ze to bedzie choć troche pomocne!
  • gegtor likes this
Macbook Pro 15" mid 2012 with Retina display - 2,3 GHz Intel i7 8GB RAM 256SSD Macbook Pro 15" late 2013 with Retina display - 2,3 GHz Intel i7 16GB RAM 512SSD iPad Air 64Gb 4G iPhone 5 32Gb

#3 gegtor

gegtor
  • 76 posts
  • SkądWrocław

Posted 05 March 2015 - 23:08

Dzięki! problemem był ten dead line file.open("wizy.txt, ios::out"); wszystko inne działa ok!



#4 BW:*|4fun

BW:*|4fun
  • 66 posts

Posted 06 March 2015 - 09:30

i plik pojawia Ci się w tym samym folderze w którym masz plik wykonywalny programu? 

Jeśli tak, to czy odpalasz swój program powiedzmy tylko w Xcodzie (nie powiedziałeś jakiego środowiska używasz), czy próbujesz normalnie odpalić przekompilowany plik poza Xcodem w konsoli?

Właśnie przekompilowałem Twój program i jeśli podasz nazwe pliku "wizy.txt" i odpalisz w Xcodzie to plik zapisze sie faktycznie w tym samym katalogu, gdzie masz plik tz. target (wykonywalny). Ale jeśli wykopiujesz ten plik programu powiedzmy na biurko i odpalisz, to juz plik wizy.txt zapisze się nie obok, a tak jak mówiłem w głównym katalogu!

Dlatego popróbuj z tą kreską, o której mówiłem!

(jeśli pomogłem to daj plusika;) )

 


  • gegtor likes this
Macbook Pro 15" mid 2012 with Retina display - 2,3 GHz Intel i7 8GB RAM 256SSD Macbook Pro 15" late 2013 with Retina display - 2,3 GHz Intel i7 16GB RAM 512SSD iPad Air 64Gb 4G iPhone 5 32Gb

#5 gegtor

gegtor
  • 76 posts
  • SkądWrocław

Posted 06 March 2015 - 11:41

używam xcode 6.1.1 odpalam prosto w nim a miejsce gdzie chce zapisywać plik wybieram product>>scheme>>edit scheme>>options>>working directory

 

(jeszcze raz bardzo mi pomogłeś :))



#6 enedil

enedil
  • 108 posts
  • SkądPorfia, Chile

Posted 27 May 2015 - 20:54

i plik pojawia Ci się w tym samym folderze w którym masz plik wykonywalny programu? 

Jeśli tak, to czy odpalasz swój program powiedzmy tylko w Xcodzie (nie powiedziałeś jakiego środowiska używasz), czy próbujesz normalnie odpalić przekompilowany plik poza Xcodem w konsoli?

Właśnie przekompilowałem Twój program i jeśli podasz nazwe pliku "wizy.txt" i odpalisz w Xcodzie to plik zapisze sie faktycznie w tym samym katalogu, gdzie masz plik tz. target (wykonywalny). Ale jeśli wykopiujesz ten plik programu powiedzmy na biurko i odpalisz, to juz plik wizy.txt zapisze się nie obok, a tak jak mówiłem w głównym katalogu!

Dlatego popróbuj z tą kreską, o której mówiłem!

(jeśli pomogłem to daj plusika;) )

 

Troszkę pokręciłeś.

OS X, jak każdy system UNIX, za katalog główny ma /. Zwykły użytkownik musi podać swoje hasło, aby zapis tam był możliwy.

Po prostu uruchamiając z biurka, katalogiem w którym działa program jest katalog użytkownika (n.p. /Users/whatever). Możesz to sprawdzić uruchamiając taki program napisany w c:

#include <stdio.h>
#include <unistd.h>

int main()
{
	char buf[256];
	getcwd(buf, 256);
	printf("%s\n", buf);
}

W zależności od położenie pliku wykonywalnego, zobaczysz różne ciągi znaków.






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users