Работает ниже. Он печатает успех.Задача преобразования с char * на wchar_t *
wchar_t * s1 = (wchar_t *) L"INSERT INTO OE(sqltext) VALUES('this text')";
if(WriteToSQL(s1) == 0)
printf("Success"); //Success
else
printf("Failed");
Мне нужно ввести данные пользователя для создания динамического sql. Мне нужно сделать то, что делает L префикс.
Когда я беру ввод и выполняю требуемое преобразование, оно не работает.
char input[100];
char sql[500];
printf("Enter input string :: ");
fgets(input,100,stdin);
for(int i=0;i<100;i++)
if(input[i]==10)
input[i]=0;
strcpy(sql,"INSERT INTO OE(sqltext) VALUES('");
strcat(sql,input);
strcat(sql,"')");
wchar_t wsql[500];
MultiByteToWideChar(CP_UTF8, 0, sql, strlen(sql),
wsql, strlen(sql) + 1);
if(WriteToSQL(wsql) == 0)
printf("Success");
else
printf("Failed"); // It failed
Long conversassion, но в конце концов он сделал работу. Сброс памяти Hex-памяти и вход с usta были наиболее полезными. Спасибо всем за их время.
-1: Положите больше усилий на вопрос. Что не работает? Какая ошибка или неожиданное поведение вы получаете. Что вы пробовали? –
Спасибо @ Space_C0wb0y за -1 :). Что было так сложно, что вы не могли понять? Посмотрите на тело функции _tmain. – Manjoor
Если что-то не так с вашей программой, это означает, что вы либо не можете ее скомпилировать, либо не будете вести себя так, как ожидалось. Если вы не можете скомпилировать его, отправьте сообщение об ошибке, которую вы получаете. Если поведение неправильное, объясните ожидаемое поведение и то, как фактическое поведение отличается от него. Ограничьте код, который вы публикуете в соответствующих отрывках, а не всю программу. –