Procedimentos para conversão de strings de "System::String" para "char*"
Situação em que dados de uma interface gráfica ( textBox1->Text ) necessitam ser gravados em arquivos texto ANSI através da biblioteca "stdio".
1) declarar uso da biblioteca "stdio"
#include <stdio.h>
2) declarar uso do nome de espaço "InteropServices":
using namespace System::Runtime::InteropServices;
3) código para converter "System::String" em "char*":
System::String ^ str = textBox1->Text ;
char* str2 = (char*)(void*)Marshal::StringToHGlobalAnsi(str);
FILE *fh = fopen( "teste.txt", "w" );
fprintf(fh, "%s", str2);
fclose(fh);
Marshal::FreeHGlobal((IntPtr)str2);
Adaptado da Fonte de Referência:
Nenhum comentário:
Postar um comentário