ifstream & UNC
От: egort Россия  
Дата: 14.05.08 13:41
Оценка:
Друзья, подскажите почему данный кусок кода не возвращает истину?


ifstream file;
file.open ("\\\server\\share\\file.ext", ifstream::in);
if(file.good())
  return true;


непойму что я неправильно делаю...
шаыекуфь
Re: ifstream & UNC
От: codelord  
Дата: 14.05.08 13:43
Оценка:
Здравствуйте, egort, Вы писали:
Если это Windows путь видимо не правильный
Если Linux тоже
E>Друзья, подскажите почему данный кусок кода не возвращает истину?


E>
E>ifstream file;
E>file.open ("\\\server\\share\\file.ext", ifstream::in);
E>if(file.good())
E>  return true;
E>


E>непойму что я неправильно делаю...
шаыекуфь
Re: ifstream & UNC
От: codelord  
Дата: 14.05.08 13:48
Оценка: 1 (1)
Здравствуйте, egort, Вы писали:

Еще что за служебный символ "\s"
??????

E>Друзья, подскажите почему данный кусок кода не возвращает истину?



E>
E>ifstream file;
E>file.open ("\\\server\\share\\file.ext", ifstream::in);
E>if(file.good())
E>  return true;
E>


E>непойму что я неправильно делаю...
шаыекуфь
Re: ifstream & UNC
От: codelord  
Дата: 14.05.08 13:51
Оценка:
Здравствуйте, egort, Вы писали:

E>Друзья, подскажите почему данный кусок кода не возвращает истину?



E>
E>ifstream file;
E>file.open ("\\\server\\share\\file.ext", ifstream::in);
E>if(file.good())
E>  return true;
E>


E>непойму что я неправильно делаю...



Если это сетка то видимо впереди должно быть два слеша
шаыекуфь
Re[2]: ifstream & UNC
От: egort Россия  
Дата: 14.05.08 13:51
Оценка:
Здравствуйте, codelord, Вы писали:

C>Здравствуйте, egort, Вы писали:

C>Если это Windows путь видимо не правильный
C>Если Linux тоже

Я тоже так думаю, но что именно в нем неправильно?
Windows-путь файла, нормально открывающегося через пуск-выполнить, выглядит как
\\server\share\file.ext

соответственно в open должно быть либо
\\\server\\share\\file.ext
либо
\\\\server\\share\\file.ext
либо я не понимаю что ещё ...

E>>Друзья, подскажите почему данный кусок кода не возвращает истину?


E>>
E>>ifstream file;
E>>file.open ("\\\server\\share\\file.ext", ifstream::in);
E>>if(file.good())
E>>  return true;
E>>


E>>непойму что я неправильно делаю...
шаыекуфь
Re: ifstream & UNC
От: Were  
Дата: 14.05.08 13:51
Оценка:
Здравствуйте, egort, Вы писали:

Слэш еще один надо.

E>
E>ifstream file;
E>file.open ("\\\\server\\share\\file.ext", ifstream::in);
E>if(file.good())
E>  return true;
E>
шаыекуфь
Re: ifstream & UNC
От: codelord  
Дата: 14.05.08 13:53
Оценка:
Здравствуйте, egort, Вы писали:

E>Друзья, подскажите почему данный кусок кода не возвращает истину?



E>
E>ifstream file;
E>file.open ("\\\server\\share\\file.ext", ifstream::in);
E>if(file.good())
E>  return true;
E>


E>непойму что я неправильно делаю...


Наверное всеже четыре слеша перед сервером


шаыекуфь
Re: ifstream & UNC
От: Bell Россия  
Дата: 14.05.08 13:54
Оценка:
Здравствуйте, egort, Вы писали:

E>Друзья, подскажите почему данный кусок кода не возвращает истину?



E>
E>ifstream file;
E>file.open ("\\\server\\share\\file.ext", ifstream::in);
E>if(file.good())
E>  return true;
E>


E>непойму что я неправильно делаю...


Для начала добавь еще один слэш в имя файла:
file.open ("\\\\server\\share\\file.ext", ifstream::in);
Любите книгу — источник знаний (с) М.Горький
шаыекуфь
Re[2]: ifstream & UNC
От: egort Россия  
Дата: 14.05.08 14:04
Оценка:
Здравствуйте, Bell, Вы писали:

ставил, я и так \\\\ и даже в обратную сторону типа //server/share/file.ext
и нифига ... может ifstream вообще с UNC-путями не работает?

E>>Друзья, подскажите почему данный кусок кода не возвращает истину?



E>>
E>>ifstream file;
E>>file.open ("\\\server\\share\\file.ext", ifstream::in);
E>>if(file.good())
E>>  return true;
E>>


E>>непойму что я неправильно делаю...


B>Для начала добавь еще один слэш в имя файла:

B>
B>file.open ("\\\\server\\share\\file.ext", ifstream::in);
B>
ifstream
Re[3]: ifstream & UNC
От: Bell Россия  
Дата: 14.05.08 14:09
Оценка: +1
Здравствуйте, egort, Вы писали:

E>ставил, я и так \\\\ и даже в обратную сторону типа //server/share/file.ext

В обратную сторону не надо.
E>и нифига ... может ifstream вообще с UNC-путями не работает?
Работает.

Проверяй, существует ли файл, разрешен ли к нему доступ, можешь ли открыть его другими средствами.
Любите книгу — источник знаний (с) М.Горький
ifstream
Re[3]: ifstream & UNC
От: alzt  
Дата: 14.05.08 15:46
Оценка:
Здравствуйте, egort, Вы писали:

E>Здравствуйте, Bell, Вы писали:


E>ставил, я и так \\\\ и даже в обратную сторону типа //server/share/file.ext

E>и нифига ... может ifstream вообще с UNC-путями не работает?

а откуда код вызывается? GUI-программа, консоль, служба?
ifstream
Re[4]: ifstream & UNC
От: Аноним  
Дата: 14.05.08 19:18
Оценка:
Здравствуйте, alzt, Вы писали:

A>Здравствуйте, egort, Вы писали:


E>>Здравствуйте, Bell, Вы писали:


E>>ставил, я и так \\\\ и даже в обратную сторону типа //server/share/file.ext

E>>и нифига ... может ifstream вообще с UNC-путями не работает?

A>а откуда код вызывается? GUI-программа, консоль, служба?


приведенный кусок кода из плагина для Miranda IM.
сейчас сделал тестовую шару на локальном компе — сработало. похоже на проблемы с доступом, но
странно то, что сама миранда запускается из отладчика VS2005, т.е. под учеткой доменного админа, и
от имени того же пользователя я открываю этот файл через пуск-выполнить без проблем.
может ли отладчик запускать процессы не от пользователя а от системы или иначе?
Re[5]: ifstream & UNC
От: Sergey Россия  
Дата: 14.05.08 19:39
Оценка:
> приведенный кусок кода из плагина для Miranda IM.
> сейчас сделал тестовую шару на локальном компе — сработало. похоже на
> проблемы с доступом, но
> странно то, что сама миранда запускается из отладчика VS2005, т.е. под
> учеткой доменного админа, и
> от имени того же пользователя я открываю этот файл через пуск-выполнить
> без проблем.
> может ли отладчик запускать процессы не от пользователя а от системы или
> иначе?

Гадать тут не надо, достаточно поставить на случай ошибки точку останова,
при срабатывании — набрать в watch волшебную комбинацию @err,hr. (Собаку
можно не набирать, она применяется чтобы с текущими одноименными переменными
не попутать). Если напишет что access denied — тогда уж и выяснять имя
текущего пользователя.
Posted via RSDN NNTP Server 2.1 beta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[6]: ifstream & UNC
От: egort Россия  
Дата: 15.05.08 21:25
Оценка:
Здравствуйте, Sergey, Вы писали:

>> приведенный кусок кода из плагина для Miranda IM.

>> сейчас сделал тестовую шару на локальном компе — сработало. похоже на
>> проблемы с доступом, но
>> странно то, что сама миранда запускается из отладчика VS2005, т.е. под
>> учеткой доменного админа, и
>> от имени того же пользователя я открываю этот файл через пуск-выполнить
>> без проблем.
>> может ли отладчик запускать процессы не от пользователя а от системы или
>> иначе?

S>Гадать тут не надо, достаточно поставить на случай ошибки точку останова,

S>при срабатывании — набрать в watch волшебную комбинацию @err,hr. (Собаку
S>можно не набирать, она применяется чтобы с текущими одноименными переменными
S>не попутать). Если напишет что access denied — тогда уж и выяснять имя
S>текущего пользователя.

Писал "2, файл не найден".
Проблема была в искажении кирилицы в имени файла. Откомпилировал под UNICODE-версию миранды и заработало.
Всем Спасибо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.