Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.81
DPS
32 / 32 / 3
Регистрация: 12.11.2011
Сообщений: 107
Завершенные тесты: 1
#1

CopyFile() - C++

13.11.2011, 00:41. Просмотров 2496. Ответов 2
Метки нет (Все метки)

Здравствуйте, помогите мне пожалуйста, если можно, ответить на следующий вопрос.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
#include"windows.h"
using namespace std;
 
int main()
{
    char filename[40];
            cout<<"Vvedite put k failu"<<endl;
    cin.getline(filename, 39);
 
    int a=CopyFile(filename, "J:\\123.txt", true);      
    if(a)                                                       //
        cout<<"file copy"<<endl;
    else
        cout<<"file not copy"<<endl;
    return 0;
}

Если в качестве первого параметра я указываю путь к файлу, который лежит на том же диске, что и копируемый файл, копирование срабатывает.

Если же я введу путь к файлу, лежащему на другом диске, почему-то копирование не срабатывает (причем если путь к файлу указан в виде строковой константы"D:\\test.txt", копирование работает, но если я введу в консоли D:\test.txt ничего не получится).

Так и должно быть? Пользовался поиском, ничего не нашел. Надеюсь на вашу помощь)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2011, 00:41     CopyFile()
Посмотрите здесь:

CopyFile - C++
Нужно чтобы из Edit1 брался путь к файлу, а копировался он по тому же адресу только с припиской &quot;.bak&quot;. Пишу так: ...

не работает CopyFile - C++
Вот кусок кода программы. Из двух файлов считываю пути откуда копировать файл и куда, пути верные, а копирование не происходит CopyFile...

CopyFile не хочет работать с аргументами команды - C++
Есть простая программка, которая просто должна копировать файлик, но когда я вручную прописываю имя файла - тогда работает, а когда...

Исправить ошибку cannot convert parameter 1 from 'const char [15]' to 'LPCWSTR' (CopyFile) - C++
Народ, помогите, не могу разобраться с &quot;CopyFile(LPCTSTR fromName, LPCTSTR toName, BOOL failIfExists);&quot;. Вопрос таков: почему при...

CopyFile - C++ Builder
Здравствуйте! Надо скопировать найденные файлы. а как это сделать незнаю. ...

CopyFile - C++ Builder
for (int i = 0; i &lt; 10; i++) { CopyFile(&quot;D:\\1.txt&quot;,&quot;D:\\i.txt&quot;,False); } как правильно подставить i, чтобы...

CopyFile и \\ - C++ Builder
void __fastcall TForm1::Button3Click(TObject *Sender) { if(SelectDirectory(&quot;Directory-Start&quot;,&quot;&quot;,DirectorySt)) { ...

CopyFile() - C++ Builder
const AnsiString q1 = &quot;1\\111.EXE&quot;; const AnsiString q2 = p + &quot;1\\111.EXE&quot;; CopyFile(q1.c_str(),q2.c_str(),false); Почему не...

Не работает CopyFile - Delphi
copyfile('C:\Users\Users\Desktop\TMKP\RAD Studio\Projects\Ind\Ind.exe', 'C:\Program Files\DD\IDD\Ind.exe',true); не работает. Почему?

Не работает CopyFile - C++ WinAPI
Не работает CopyFile, срабатывает GetLastError() и все; #include &quot;stdafx.h&quot; #include &lt;Windows.h&gt; #include &lt;locale.h&gt; #include...

Не работает CopyFile(); - Delphi
Доброго времени суток. Проблему, у меня не работает метод copyfile(). Вот код: uses Winapi.Windows; ---------- procedure...

Функция CopyFile - Delphi
Всем добрый день! Подскажите,где моя ошибка. Мне надо,чтобы программа копировала с локального диска D,с папки 111 на сервер Pdc в папку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
13.11.2011, 00:47     CopyFile() #2
\ - это специальный символ. После этого символа пишут такие символы как n, t и т.д.
Пример:
cout << "Hello\n world". В этом случае перевод строки.
Т.е. у тебя \t - это табуляция, а не два символа \ и t.
Как тогда написать символ \, если этот символ обозначает спец. символ?
Для этого надо написать \\.
Цитата Сообщение от DPS Посмотреть сообщение
D:\test.txt
Это одно и тоже, что
D: est.txt
А
Цитата Сообщение от DPS Посмотреть сообщение
"D:\\test.txt"
это одно и тоже, что
"D:\test.txt"
DPS
32 / 32 / 3
Регистрация: 12.11.2011
Сообщений: 107
Завершенные тесты: 1
13.11.2011, 01:44  [ТС]     CopyFile() #3
Спасибо, про управляющие последовательности я знаю.

Попробую объяснить еще раз...
Вот смотрите:
1)есть файл на диске D, допустим, test.txt
2)мне надо его копировать на диск J, назвав файл, например, 123.txt

Вот если у меня такой код:
C++
1
int a=CopyFile("D:\\test.txt","J:\\123.txt", true);
т.е. первый параметр указан в виде строки, копирование происходит.

Если же путь я буду вводить тот же путь к файлу с клавиатуры (указав в консоли D:\test.txt)
C++
1
2
3
4
        char filename[40];
        cin.getline(filename, 39);
 
        int a=CopyFile(filename, "J:\\123.txt", true);
то копирование не происходит.

Добавлено через 43 минуты
Все, понял. Оказывается, имя файла должно быть на английском языке, русский не воспринимается.
Yandex
Объявления
13.11.2011, 01:44     CopyFile()
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru