konsola->*.txt

0

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 !!

0

Jaki kompilator, jaki system ?

0

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)

0

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

0

aha, dzięki za wyjaśnienie...

Czy to, że nikt nie odpowiada znaczy, że się nie da ?

0

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;
}
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

0
#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;
}
0

dzięki wielkie za kodzik i za poświęcony czas :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1