przeskakiwanie w scanf

0

Witam

Chcę uzyskać wprowadzanie danych (w języku C) takie, że:

Wpisuje liczbę, naciskam spacje i np przeskakuje 8 spacji dalej i wpisuje następną liczbę. Jak to osiągnąć?

Próbowałem różnych sposobów, ale nie wychodziło. W printf umiem takie coś zrobić, ale chodzi mi o wprowadzanie danych(scanf).

Proszę o szybką odpowiedź.

0

scanf obsługuje konsolę, która TEGO nie potrafi (jeśli dobrze zrozumiałem o co ci chodzi).
Konsola zawsze wczytuje dane całymi linijkami, więc scanf nie zwraca kontroli do programu dopóki konsola nie dostanie entera.

0

już znalazłem rozwiązanie..

Przykładowy program:

#include<stdio.h>
#include<windows.h> 

int main()
{
    char znak; 
    int liczba1, liczba2; 
    HANDLE cons = GetStdHandle(STD_OUTPUT_HANDLE); // uchwyt konsoli
    COORD pos; // zmienna zawierajaca X,Y
    
    
    pos.X = 1; // gdzie x to konkretna liczba lub zmienna z konkretna wartoscia
    pos.Y = 3; // gdzie y to konkretna liczba lub zmienna z konkretna wartoscia
    SetConsoleCursorPosition(cons, pos); // ustawiamy kursor na wybrana pozycje                    
    scanf(" %c", &znak);
    
    pos.X = 10; // gdzie x to konkretna liczba lub zmienna z konkretna wartoscia
    pos.Y = 3; // gdzie y to konkretna liczba lub zmienna z konkretna wartoscia
    SetConsoleCursorPosition(cons, pos); // ustawiamy kursor na wybrana pozycje 
    scanf("%d", &liczba1); 
     
    pos.X = 18; // gdzie x to konkretna liczba lub zmienna z konkretna wartoscia
    pos.Y = 3; // gdzie y to konkretna liczba lub zmienna z konkretna wartoscia
    SetConsoleCursorPosition(cons, pos); // ustawiamy kursor na wybrana pozycje 
    scanf("%d", &liczba2); 

return 0; 

} 


0

trzeba bylo od razu napisac ze interesuje Cie rozwiazanie dzialajace tylko na windowsach:)

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