memcpy( куда, откуда, количество байт для копирования ) незнаю на счёт sizeof(strExtension.c_str()) + 1 может и верно, но я не могу понять как это так. ведь нужно размер строки в байтах strExtension.size() * sizeof( wchar_t ) // возможно у string есть спец функция для етого lpf->extension должна иметь выделенную память для хранения строки lpf->extension = new wchar_t[ strExtension.size() + 1 ]; memcpy( &lpf->extension, strExtension.c_str(), strExtension.size() * sizeof(wchar_t) ); lpf->extension[ strExtension.size() ] = 0;