Linux-путь в Fstream - PullRequest
       1

Linux-путь в Fstream

0 голосов
/ 16 октября 2011

я пытаюсь создать новый файл и сохранить его в подкаталоге текущей папки ON LINUX

путь (преобразовать) должен выглядеть примерно так: markus / 123456, где markus - это (существующий) подкаталог, а 123456 - это несуществующий файл

странная вещь: это работает, когда я не использую подкаталог для краткости:

"123456" работает и создает файл в текущем каталоге

"markus / 123456" не работает и вообще ничего не делает ...

ofstream handle;
string convert = "1234";
convert=name +"/"+ convert;
cout << convert<< endl;
handle.open(convert.c_str(),ios::out); // dont works with subdirectory in string
handle<<message;
handle.close();

ВНИМАНИЕ: я использую Linux, а не Windows. Мне нужно решение для Linux (3.0.0-12-generic-pae).

EDIT: Спасибо одному из комментариев, которые я обнаружил, что он, по-видимому, является правильной проблемой. Я отправляю код, как я создал папку:

user::user(string aaa)
{
    name=aaa;
    mkdir(name.c_str(),0600);

}

ВНИМАНИЕ: Я также пробовал это с 0666 без успеха. Все еще не знаю, как это сделать правильно

1 Ответ

1 голос
/ 16 октября 2011
mkdir(name.c_str(),0600);

Это неправильно.Попробуйте

mkdir(name.c_str(), 0700);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...