Tworzenie niewidocznego pliku tekstowego

0

Witam,

Jak w C++ stworzyć niewidoczny dla użytkownika plik tekstowy?

Pozdrawiam.

2

Pod Windowsem - funkcja CreateFile (http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858%28v=vs.85%29.aspx) z flagą FILE_ATTRIBUTE_HIDDEN.
Pod Linuxem - tak jak każdy plik, tylko dodajesz kropkę do początku nazwy pliku.

0

Pod Windowsem - mogę prosić jakiś przykład? :)
Pod Linuksem - dzięki! :)

1
CreateFile("zuo.txt", GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_HIDDEN, NULL) ;
0

Dzięki, tylko takie pytanie ostatnie: Jak zrobić żeby ten plik znów był widoczny? :D

1

Pod Windowsem:

int x = GetFileAttributes("zuo.txt") ;
SetFileAttributes("zuo.txt", x & ~FILE_ATTRIBUTE_HIDDEN) ;

Pod Linuxem wywalasz po prostu tę kropkę z nazwy.

0

Dziękuję bardzo za pomoc! :)

0

A i jeszcze! Jak w tym pliku coś napisać? Taki kod nie działa :/

#include <fstream>
#include <windows.h>
#include <iostream>

using namespace std;

int main()
{
    CreateFile("zuo.txt", GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_HIDDEN, NULL) ;
    
    std::fstream plik;
    plik.open( "zuo.txt", std::ios::in | std::ios::out );
    plik<<"zuo w pliku zuo"<<endl;
    plik.close();
    
    int x = GetFileAttributes("zuo.txt") ;
    SetFileAttributes("zuo.txt", x & ~FILE_ATTRIBUTE_HIDDEN) ;
}
1
#include <fstream>
#include <windows.h>
#include <iostream>
 
int main()
{
    HANDLE h = CreateFile("zuo.txt", GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_HIDDEN, NULL) ;

    CloseHandle(h) ;
 
    std::fstream plik;
    plik.open( "zuo.txt", std::ios::in | std::ios::out );
    plik<<"zuo w pliku zuo"<<std::endl;
    plik.close();
 
    int x = GetFileAttributes("zuo.txt") ;
    SetFileAttributes("zuo.txt", x & ~FILE_ATTRIBUTE_HIDDEN) ;
}

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