Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2008, 14:51   #1
Cricket2007
Пользователь
 
Регистрация: 12.02.2008
Сообщений: 14
По умолчанию Как удалить файл с русским именем?

Всем привет! Почему функця DeleteFile не удаляет файл если он назван по русски или в ссылке к нему есть русские буквы (типа рабочий стол или мои документы) я например пишу так
#include<windows.h>
int main()
{
DeleteFile("C:\\Documents and Settings\\Denis\\Мои документы\\Проэкт.exe");
return 0;
}

и не удаляет ,а если напишу так

#include<windows.h>
int main()
{
DeleteFile("C:\\poroject.exe"); // а так удаляет аж бегом
return 0;
}

тип проэкта консольное приложение ( других делать еще не умею)
Экспериментатор должен быть достаточно ленив, чтоб не копиться в мелочах
Cricket2007 вне форума Ответить с цитированием
Старый 12.02.2008, 15:04   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А может дело не в русском языке а в пробелах в пути к файлу?
Второй то пример ты без пробелов написал
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.02.2008, 16:23   #3
Cricket2007
Пользователь
 
Регистрация: 12.02.2008
Сообщений: 14
По умолчанию

нет я пробовал например так DeleteFile("C:\\моипроэкты\\Проэкт. exe");
так тож не хочет Консольные приложения как я понял русских букв не понимают поэтому есть идея написать фунцию которая будет "C:\\моипроэкты\\Проэкт.exe" конвертировать в "C:\\moiproekti\\Proect.exe
переименовывать папку и файл чтоб путь стал таким "C:\\moiproekti\\Proect.exe" а уж потом передавать этот путь в DeleteFile
народ чо скажете? Или это совсем бредовая идея??

Поробуйте написать вот так
#include<iostream.h>
void main()
{
cout<<"Привет!";
}
И будут каракули
Экспериментатор должен быть достаточно ленив, чтоб не копиться в мелочах

Последний раз редактировалось Stilet; 12.02.2008 в 17:08.
Cricket2007 вне форума Ответить с цитированием
Старый 12.02.2008, 16:50   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
русских букв не понимают
С чего бы это...

Вот только что проверил в Visual C++ 6
Код:
// w1.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "windows.h"


int main(int argc, char* argv[])
{
	DeleteFile("C:\\Temp\\Моя\\вирту.htm");
	return 0;
}
Удаляет без проблем
I'm learning to live...

Последний раз редактировалось Stilet; 12.02.2008 в 16:58.
Stilet вне форума Ответить с цитированием
Старый 12.02.2008, 17:18   #5
Cricket2007
Пользователь
 
Регистрация: 12.02.2008
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
С чего бы это...

Вот только что проверил в Visual C++ 6
Код:
// w1.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "windows.h"


int main(int argc, char* argv[])
{
	DeleteFile("C:\\Temp\\Моя\\вирту.htm");
	return 0;
}
Удаляет без проблем
а в консоле оно не компилится вот такую ошибку выдает
Compiling...
1.cpp
c:\program files\microsoft visual studio\myprojects\bred\1.cpp(1) : fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory
Error executing cl.exe.

bred.exe - 1 error(s), 0 warning(s)

у меня тож visual studio6
Экспериментатор должен быть достаточно ленив, чтоб не копиться в мелочах
Cricket2007 вне форума Ответить с цитированием
Старый 12.02.2008, 17:27   #6
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

DeleteFileW(L"C:\\Documents and Settings\\Denis\\Мои документы\\Проэкт.exe");
B_N вне форума Ответить с цитированием
Старый 12.02.2008, 17:37   #7
Cricket2007
Пользователь
 
Регистрация: 12.02.2008
Сообщений: 14
По умолчанию

Цитата:
Сообщение от B_N Посмотреть сообщение
DeleteFileW(L"C:\\Documents and Settings\\Denis\\Мои документы\\Проэкт.exe");
Реально удаляет ПАСИБО!!!!!!!!!!
Экспериментатор должен быть достаточно ленив, чтоб не копиться в мелочах
Cricket2007 вне форума Ответить с цитированием
Старый 12.02.2008, 17:51   #8
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Для проекта
#define UNICODE
определите (или в свойствах проекта Юникод укажите) 21-й век на дворе
B_N вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как удалить файл dagarik Общие вопросы Delphi 9 05.12.2007 20:25
очистить и удалить файл BeeX Общие вопросы C/C++ 9 01.12.2007 15:57
Помогите, Как программо удалить файл который находится на жестком диске. niva622 Помощь студентам 3 19.04.2007 19:09
как мне сохранять файл EXCEL с именем часть которого я буду брать из области Edit а VALIK Общие вопросы Delphi 2 27.02.2007 21:51