• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pole tekstowe dołączone do tworzonego pliku (WinAPI)

Cloud VPS
0 głosów
860 wizyt
pytanie zadane 4 lutego 2019 w C i C++ przez Sic Dyskutant (8,510 p.)
edycja 4 lutego 2019 przez Sic

Witam tworzę program, który tworzy plik tekstowy, który się nadpisuje przy kolejnym otwarciu. Można wprowadzić do niego tekst i zapisywać go tam aż do następnego otwarcia. Pierwsza część wyszła całkiem nieźle, ponieważ plik się tworzy, problem pojawia się przy zapisywaniu tekstu (próbowałem WriteFile(), ale to nie zadziałało). Chciałbym dodać, że funkcja 'DaneDoPliku" została utworzona ze względu na próbę wprowadzenia pola tekstowego.

#include <windows.h>

HWND hwnd;
LPSTR Bufor;
HANDLE hPlik;
DWORD dwSize, dwZapisac;

void DaneDoPliku(HWND text)
{
	Bufor = (LPSTR)GlobalAlloc(GPTR, dwSize + 1); 
	GetWindowText(hwnd, Bufor, dwSize + 1);
	//MessageBox(NULL, Bufor, "Wpisz tekst", MB_ICONINFORMATION);

	hPlik = CreateFile("Dane zaszyfrowane.txt", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_FLAG_RANDOM_ACCESS, NULL); // tworzy plik (działa)

	WriteFile(hPlik, (LPCVOID)Bufor, dwSize, &dwZapisac, NULL);

	system("pause");

	GlobalFree(Bufor); // zwolnij bufor
	CloseHandle(hPlik); // zamknij plik
}


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	DaneDoPliku(hText);

	return 0;
}

Proszę o podpowiedź w jaki sposób mogę sprawić, aby otworzyć tworzony plik i wprowadzić do niego tekst.

komentarz 5 lutego 2019 przez j23 Mędrzec (195,240 p.)
Jest jakiś racjonalny powód, dla którego zrezygnowałeś z użycia strumieni C/C++ na rzecz surowych funkcji systemowych?

1 odpowiedź

0 głosów
odpowiedź 5 lutego 2019 przez j23 Mędrzec (195,240 p.)

Bufor = (LPSTR)GlobalAlloc(GPTR, dwSize + 1);

Chyba zapomniałeś ustalić, ile bajtów powinieneś przydzielić (dwSize == 0). Użyj GetWindowTextLength.

 

Dlaczego Bufor, hPlik, dwSize i dwZapisac są globalne?

Podobne pytania

0 głosów
2 odpowiedzi 408 wizyt
pytanie zadane 23 lutego 2018 w C i C++ przez polak1231 Początkujący (270 p.)
0 głosów
1 odpowiedź 210 wizyt
pytanie zadane 20 października 2016 w C i C++ przez bartolinciu Dyskutant (7,580 p.)
+1 głos
3 odpowiedzi 1,237 wizyt
pytanie zadane 12 maja 2021 w JavaScript przez Hubert731 Obywatel (1,650 p.)

93,487 zapytań

142,423 odpowiedzi

322,773 komentarzy

62,909 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...