Olá pessoal, venho aqui pedir a ajuda de vocês em uma questão com uma variável do tipo char, é o seguinte, tenho um formulário win32 com um botão que quando você clica nesse botão é aberto outra janela, que contém um edit, um botão para fechar e voltar a janela principal, um botão pra pegar os dados do edit e gravar em um arquivo de texto comum, o problema é que quando eu gravo algo acontece como o esperado, mas se eu FECHAR a janela e voltar para a janela principal e clicar novamente no botão para abrir a segunda janela e for tentar gravar algo, não vai gravar os dados, é como se a variável não se limpasse, continuasse os dados antigos.. abaixo o code:   #include <windows.h>
#include <string>
#include <fstream>
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <sstream>
#define className "Class"
LRESULT CALLBACK WinProc(HWND window,UINT msg, WPARAM WParam,LPARAM LParam);
HINSTANCE g_inst;
// Interagindo com o usuário
HWND Botao1;
    HWND hwnd;
HWND Botao2;
HWND EditNum1;
HWND option;
HFONT Minhaletra;
HWND BotaoFechar;
// Identificando os Botões
#define ID_BOTAO1  1001
#define IDC_BOTAO2  1003
#define IDC_BOTAOFECHAR 1004
// Sistema
char frase[100]="0";
using namespace std;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR IpCmdLine,int nCmdShow){
    WNDCLASSEX win;
    MSG message;
    win.cbClsExtra = 0;
    win.cbSize=sizeof(win);
    win.cbWndExtra = 0;
    win.hbrBackground = CreateSolidBrush(RGB(217,83,83));
    win.hCursor = LoadCursor(NULL,IDC_ARROW);
    win.hIcon = LoadIcon(NULL,IDI_WARNING);
    win.hIconSm = LoadIcon(NULL,IDI_WINLOGO);
    win.hInstance = hPrevInstance;
    win.lpfnWndProc = WinProc;
    win.lpszClassName = className;
    win.lpszMenuName = NULL;
    win.style = 0;
    if(!RegisterClassEx(&win)) return 0;
    hwnd = CreateWindowEx(0,className,"Formulário",WS_SIZEBOX | WS_TILED | WS_CAPTION | WS_SYSMENU,
                          300,200,700,430,NULL,NULL,hInstance,NULL);
                           option = CreateWindowEx(0,className,"a",WS_SIZEBOX | WS_TILED | WS_CAPTION,
                         450,350,350,200,0,0,hInstance,0);
    if(hwnd == NULL) return 0;
    ShowWindow(hwnd,SW_SHOW);
    UpdateWindow(hwnd);
    while(GetMessage(&message,0,0,0)){
        TranslateMessage(&message);
        DispatchMessage(&message);
    }
    return message.wParam;
}
LRESULT CALLBACK WinProc(HWND window,UINT msg, WPARAM wParam,LPARAM lParam)
{
    switch(msg){
        case WM_CREATE:
     Botao1 = CreateWindowEx(WS_EX_STATICEDGE,"BUTTON","Inverter",WS_VISIBLE | WS_CHILD,300,12,75,20,hwnd,(HMENU)ID_BOTAO1,g_inst,NULL);
        break;
        case WM_CLOSE:
             DestroyWindow(window);
        break;
        case WM_DESTROY:
             PostQuitMessage(0);
        break;
        case WM_COMMAND:
             switch(LOWORD(wParam)){
                 case ID_BOTAO1:{
               //       MessageBox(NULL,frase,frase,MB_OK);
         HINSTANCE g_inst1;
          EditNum1= CreateWindowEx(WS_EX_CLIENTEDGE,"EDIT","",WS_VISIBLE|WS_CHILD,12,142,320,20,option,NULL,g_inst1,NULL);
     Botao2 = CreateWindowEx(WS_EX_STATICEDGE,"BUTTON","Gravar",WS_VISIBLE | WS_CHILD,200,12,75,20,option,(HMENU)IDC_BOTAO2,g_inst1,NULL);
 BotaoFechar = CreateWindowEx(WS_EX_STATICEDGE,"BUTTON","FECHAR",WS_VISIBLE | WS_CHILD,100,12,75,20,option,(HMENU)IDC_BOTAOFECHAR,g_inst1,NULL);
                        ShowWindow(option, SW_SHOW);
                 }
                 break;
                 case IDC_BOTAOFECHAR:
                 {
                        ShowWindow(option, SW_HIDE);
                 }
                 break;
                 case IDC_BOTAO2:
                 {
                           SendMessage((HWND)EditNum1,(UINT)EM_GETLINE,(WPARAM)1,(LPARAM) &frase);
                            //         sprintf(frase,"[basico]\nplayername =%s\ndirpath =%s\nrompath =%s",);
                        ofstream myfile;
                        myfile.open ("xsnes.ini");
                        myfile << frase;
                        myfile.close();
                       MessageBox(NULL,frase,frase,MB_OK);
//
                        sprintf(frase,".");
                       // ShowWindow(option, SW_HIDE);
                 }
                 break;
             }
             break;
        default: return DefWindowProc(window, msg, wParam, lParam);
    }
    return 0;
}  Esse é só um code de teste que estou tentando resolver esse problema.  Obrigado desde já.