WIN32_FIND_DATA это правда [закрыто]C#

Место общения программистов C#
Ответить
Anonymous
 WIN32_FIND_DATA это правда [закрыто]

Сообщение Anonymous »

Это правда? Я хочу использовать WIN32_FIND_DATA для C#. Я хочу проверить, есть ли в приведенном ниже коде какие-либо ошибки для C#.
Пожалуйста, покажите мне другой способ, если вы найдете другой код получше.
Привет всем, привет. бродяга bejafoanc nsfkck Это правда? Я хочу использовать WIN32_FIND_DATA для C#. Я хочу проверить, есть ли в приведенном ниже коде какие-либо ошибки для C#.
Пожалуйста, покажите мне другой способ, если вы найдете другой код получше.
Привет всем, привет. бродяга bejafoanc nsfkck
class Program
{
// Khai báo P/Invoke cho MultiByteToWideChar
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern int MultiByteToWideChar(
uint CodePage,
uint dwFlags,
[MarshalAs(UnmanagedType.LPStr)] string lpMultiByteStr,
int cbMultiByte,
[MarshalAs(UnmanagedType.LPWStr)] StringBuilder lpWideCharStr,
int cchWideChar);

static void Main()
{
string multiByteStr = "Hello, World!";
int codePage = 65001; // CP_UTF8 (UTF-8)

// Gọi lần đầu để lấy kích thước chuỗi wide char cần thiết
int sizeRequired = MultiByteToWideChar((uint)codePage, 0, multiByteStr, -1, null, 0);
if (sizeRequired == 0)
{
Console.WriteLine("Lỗi khi lấy kích thước chuỗi.");
return;
}

// Tạo buffer cho chuỗi wide char
StringBuilder wideCharStr = new StringBuilder(sizeRequired);

// Thực hiện chuyển đổi từ multi-byte sang wide char
int result = MultiByteToWideChar((uint)codePage, 0, multiByteStr, -1, wideCharStr, sizeRequired);
if (result == 0)
{
Console.WriteLine("Lỗi khi chuyển đổi chuỗi.");
return;
}

// In ra chuỗi kết quả
Console.WriteLine("Wide Char String: " + wideCharStr.ToString());
}
}

C++
#include
#include

int main() {
const char* multiByteStr = "Hello, World!";
int len = MultiByteToWideChar(CP_UTF8, 0, multiByteStr, -1, NULL, 0);
wchar_t* wideCharStr = new wchar_t[len];
MultiByteToWideChar(CP_UTF8, 0, multiByteStr, -1, wideCharStr, len);

std::wcout

Подробнее здесь: https://stackoverflow.com/questions/790 ... a-its-true
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»