2016-06-02 2 views
1

мне нужно скопировать один файл WINDIR, так что я:копия файла WINDIR с

TCHAR windir[MAX_PATH]; 
GetWindowsDirectory(windir, MAX_PATH); 

получить WinDir.

char newLocation[]="text.txt"; // how to add the windir here? 
BOOL stats=0; 
CopyFile(filename, newLocation, stats); 

Моя проблема, я хочу, чтобы добавить значение WINDIR перед text.txt в полукокса newLocation [].

Любые идеи?

+0

За последние 10 с лишним лет, UAC предотвратил обычных пользователей от копирования файлов в Windows, или Program Files каталог. В XP она начала обескураживаться и была полностью запрещена, когда Vista была выпущена. Как вы могли пропустить эту новость (это было написано здесь не менее 1000 раз ранее, причем каждый тег языка программирования, связанный с Windows, существует AFAIK)? –

+0

Да, ему нужны права администратора для работы ... поэтому пользователь может решить, хочет ли он, чтобы он работал или нет. –

ответ

1

Вы пытались объединить струны, как это?

#include <stdlib.h> 
#include <string.h> 

char* concat(char *s1, char *s2) 
{ 
    char *result = malloc(strlen(s1)+strlen(s2)+1);//+1 for the zero-terminator 
    //in real code you would check for errors in malloc here 
    strcpy(result, s1); 
    strcat(result, s2); 
    return result; 
} 

Если это не будет работать, дать wcscat() выстрел!


Источники:

  1. How do I concatenate two strings in C?
  2. What is difference between TCHAR and WCHAR?
  3. C++ Combine 2 Tchar
+1

точно! конкатенировать переменную windir перед «text.txt» –

+0

моя ошибка! Это дает мне ошибку: [Ошибка] неверное преобразование из 'void *' в 'char *' [-fpermissive] –

+0

Где @RickJoe? – gsamaras

Смежные вопросы