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

Скопировать файл. Не копирует. - C++

Восстановить пароль Регистрация
 
Casper-SC
 Аватар для Casper-SC
3464 / 1683 / 173
Регистрация: 27.03.2010
Сообщений: 4,824
Записей в блоге: 1
29.05.2011, 22:29     Скопировать файл. Не копирует. #1
Пытаюсь понять, как же в С++ скопировать файл. Что-то не копируется . Наверное я вообще неадекватную чушь накодил, но пока мало что понимаю в С++. Скажите в чём ошибка?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// TestProjectC_plus_plus.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <windows.h>
#include <string>
#include <sys/stat.h>
#include <sys\types.h> 
#include <fstream>
#include <stdio.h>
#include <cstring>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
 
    string targetFile = "D:\\TEST.txt";
    string destinationFile = "F:\\TEST.txt";
    cout << "Хай\n";
 
    CopyFile((LPCWSTR)targetFile.c_str(), (LPCWSTR)destinationFile.c_str(), false);
 
    system("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NickoTin
Модератор
 Аватар для NickoTin
8172 / 3476 / 233
Регистрация: 14.06.2010
Сообщений: 4,502
Записей в блоге: 9
29.05.2011, 22:34     Скопировать файл. Не копирует. #2
C++
1
2
3
4
5
6
7
8
9
10
#include <Windows.h>
#include <tchar.h>
 
int _tmain(int argc, _TCHAR *argv[])
{
    LPCTSTR pSource = _T("D:\\ip.txt");
    LPCTSTR pTarget = _T("C:\\ip.txt");
    CopyFile(pSource, pTarget, FALSE);
    return 0;
}
Casper-SC
 Аватар для Casper-SC
3464 / 1683 / 173
Регистрация: 27.03.2010
Сообщений: 4,824
Записей в блоге: 1
29.05.2011, 22:41  [ТС]     Скопировать файл. Не копирует. #3
А я только хотел написать, что сам нашёл.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "stdafx.h"
#include <iostream>
#include <windows.h>
#include <string>
#include <sys/stat.h>
#include <sys\types.h> 
#include <fstream>
#include <stdio.h>
#include <cstring>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
 
    LPCWSTR targetFile = L"D:\\TEST.txt";
    LPCWSTR destinationFile = L"F:\\TEST.txt";
    cout << "Хай\n";
 
    CopyFile(targetFile, destinationFile, false);
 
    system("pause");
    return 0;
}
Просто впервые вижу такой тип LPCWSTR, даже в голову не пришло его использовать при объявлении путей.

_T
L
что конкретно делают? Если можно в двух словах.

Добавлено через 5 минут
Пожалуй лучше продолжу читать книжку по C++.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
29.05.2011, 22:43     Скопировать файл. Не копирует. #4
Casper-SC, Буква L указывеает на то, что это строка, состоящая из "широких" символов, где каждый занимает 2 байта.
Yandex
Объявления
29.05.2011, 22:43     Скопировать файл. Не копирует.
Ответ Создать тему
Опции темы

Текущее время: 03:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru