jak zapisać zawartość całej konsoli do pliku (bo. tekstowego) ?
Dodam, że tekst wypisuję przez funkcję printf();
aaaa i jeszcze jedno - nie moge zapisywać od razu do pliku, bo chce żeby to szło przez konsole !!
jak zapisać zawartość całej konsoli do pliku (bo. tekstowego) ?
Dodam, że tekst wypisuję przez funkcję printf();
aaaa i jeszcze jedno - nie moge zapisywać od razu do pliku, bo chce żeby to szło przez konsole !!
Jaki kompilator, jaki system ?
Jaki kompilator, jaki system ?
Dev-Cpp 4.9.9.0
windows XP Proffesional
PS. Co za różnica ? (szczególnie jeśli chodzi o kompilator)
Różnica jest spora, np.: jeżeli dos to to bezpośredni odczyt z pamięci ekranu, jeżeli windows to funkcje WinApi. Jeżeli Dev-Cpp to nagłówek conio.c, jeżeli VC++ to czyste Winapi
aha, dzięki za wyjaśnienie...
Czy to, że nikt nie odpowiada znaczy, że się nie da ?
Co taki niecierpliwy ;>
#include <fstream>
#include <windows.h>
using namespace std;
int main(int argc, char *argv[])
{
ofstream out("plik.txt", ios::out);
CHAR_INFO buffer[80][25];
SMALL_RECT r = (SMALL_RECT) {0, 0, 80, 25};
ReadConsoleOutput(GetStdHandle(STD_OUTPUT_HANDLE), (PCHAR_INFO)buffer, (COORD) {80, 25}, (COORD) {0, 0}, &r);
for(int i = 0; i < 80; i++)
for(int j = 0; j < 25; j++)
out << buffer[i][j].Char.AsciiChar;
return 0;
}
Twój kodzik zapisuje w pliku całość do jednej lini, jak zrobić żeby było normalnie - tak jak w konsoli ?
próbowałem, zeby było tak:
for(int i = 0; i < 80; i++)
for(int j = 0; j < 25; j++)
out << buffer[i][j].Char.AsciiChar;
out << "\n";
ale nic nie idzie
#include <fstream>
#include <windows.h>
using namespace std;
int main(int argc, char *argv[])
{
ofstream out("plik.txt", ios::out);
char buffer[81];
DWORD t;
for(int i = 0; i < 25; i++)
{
ReadConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE), buffer, 80, (COORD) {0, i}, &t);
out << buffer << '\n';
}
return 0;
}
dzięki wielkie za kodzik i za poświęcony czas :)