Plik nie jest tworzony.

0

Cześć, dlaczego plik nie jest tworzony na dysku, pomimo tego, że dwie metody(is_open i good) zwracają true?


#include <iostream>
#include <fstream>
#include <string>

int main()
{
	std::ofstream file;

	std::string str = "log.txt";

	file.open(str, std::fstream::out | std::ofstream::trunc);
	std::cout << std::boolalpha;
	std::cout<<file.is_open()<<" "<<file.good()<<std::endl;
	file<<"4programmers";

	return 0;
}

1

Pewnie jest tworzony, tylko nie tam gdzie myślisz.

0

Właśnie, że go nie ma nigdzie. Powinien być w tej samej lokalizacji co program File.exe.

4

To akurat nie musi być prawda. Możesz odpalić exeka z innego folderu i plik zostanie stworzony w tym folderze, a nie w tym z exekiem.
Jak używasz jakiegoś IDE, to pewnie masz folder projektu. Poszukaj tego pliku w tym folderze (razem z podfolderami), pewnie gdzieś tam jest.

A najlepiej pokaż dokładnie jak odpalasz exeka.

0

Teraz to już nie wiem. Funkcja dir() pokazuje:

"./File.exe"
"./makefile"
"./objects.mk"
"./sources.mk"
"./src"
"./log.txt"

Polecenie dir w konsoli:

16.12.2019  20:22    <DIR>          .
16.12.2019  20:22    <DIR>          ..
16.12.2019  20:22         2 654 329 File.exe
16.12.2019  20:22             1 385 makefile
16.12.2019  20:21               250 objects.mk
16.12.2019  20:22               553 sources.mk
16.12.2019  20:22    <DIR>          src
               4 File(s)      2 656 517 bytes
               3 Dir(s)  78 974 234 624 bytes free

Kilka dni temu pobrałem z mojego repozytorium mały program który zacząłem pisać na początku roku i nagle się okazało, że pliki nie są tworzone/widoczne. Wcześniej wszystko działało, tylko że teraz używam W10, wcześniej W7. Mam włączoną opcję pokazuj ukryte pliki i foldery, ale plik tekstowy nie jest ukryty domyślnie.

0

Problem rozwiązany. Okazało się, że Comodo antywirus blokował tworzenie pliku.

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