Operacje na plikach - Tworzenie nowego pliku.

0

Witam!
szukam w internecie i nie mogę znaleźć konkretnej odpowiedzi. Tzn. mój problem jest banalny, więc aż strach się zapytać.

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

using namespace std;

int main()
{
    fstream test;
    test.open("C:\test\test.txt", ios::app | ios::ate | ios::out);
    if(test.good()==true)
    {
                         cout << "ok" << endl;  
    }
    getch();
}

Problem a tym, że plik się nie otwiera - dlaczego - wiem, nie ma go na dysku. Chodzi mi o polecenie, którym będę mógł utworzyć ten plik jeżeli

test.good()==false;

Coś typu test.create(ścieżka);

 - próbowałem - nie działa dlatego pytam.
2

Popatrz sobie na ten kod tutaj na forum i zastanów się, dlaczego w ścieżce zmienia się kolorowanie.

0

ok dzięki wielkie - już widzę ;)

edit ...

Witam, mam mały problem.

 fstream loguj;
    while(1){
    loguj.open("C://test1//loguj.txt", ios::app | ios::ate | ios::out);
    if(loguj.good()==true){
    loguj << "aaaa";
loguj << endl;
    break;
    } else {
    system("mkdir C:\\test1"); }
    }
    loguj.close();

Chodzi o to, iż - jeżeli otwarcie pliku nie nastąpi (nie nastąpi, bo nie ma katalogu test1 na dysku C) - ma utworzyć ten katalog, następnie jeżeli nastąpi otwarcie pliku, ma wpisać do niego aaaa i przerwać pentle - a program, cały czas tworzy mi katalog test1 (w konsoli pojawia się iż ten katalog już istnieje). Dlaczego ?

PS. wiem iż kolorowanie zwraca uwagę na

system("mkdir C:\\test1")

dokładnie na \ - lecz przy zastosowaniu // wyskakuje iż składnia mkdir jest niepoprawna - program nie zwraca błędu więc jest ok.

0

Teraz to przedobrzyłeś, używaj jako seperator albo '\', albo '/'.

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