Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Почему не хочет создаваться файл?


Автор: frostua 21.12.2011, 12:19
Если в тексте программы указать путь и имя файла, то файл создаваться не хочет,
Код

char destination[50]="d:\aaa.txt";
fopen(destination,"w");

а если ввести путь файла с клавиатуры следующим образом, то все нормально
Код

char destination[50];
cin>>destination;
fopen(destination,"w");

Почему не хочет работать первый вариант? Как сделать чтобы имя файла и путь задавать в тексте программы? Это наверно как-то связано с кодировкой символов.

Автор: Annuta 21.12.2011, 12:25
Привет!
fopen наверно хочет получить указатель типа char
ПОпробуй так 
Код

char *destination = "d:\aaa.txt";

Автор: bsa 21.12.2011, 12:38
Символ \ имеет особое назначение в С/С++. Поэтому, если необходимо использовать этот символ, то нужно его экранировать. Другими словами:
Код
char destination[50]="d:\\aaa.txt";
fopen(destination,"w");

Кстати, символ \a это звуковой сигнал. Подробнее http://ru.wikipedia.org/wiki/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D1%8E%D1%89%D0%B8%D0%B5_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8B.

Автор: frostua 21.12.2011, 12:48
спасибо, разобрался

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)