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

Stdin, stdout w terminalu linuowym.

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
155 wizyt
pytanie zadane 7 marca 2021 w C i C++ przez Michał Drożdżyński Początkujący (370 p.)
edycja 7 marca 2021 przez Michał Drożdżyński
#include <iostream>

using namespace std;

int main()
{
    string name;
    cin >> name;
    cout << "Hello " << name << "!" << endl;
    return 0;
}

Mam tutaj prosty program witający użytkownika. Chcę dane wejściowe odczytywać z pliku, a wyjściowe zapisywać do pliku. Nie chodzi mi o to, aby operacja odczytu i zapisu znajdowała się w kodzie tylko dane były podawane za pomocą standardowego wejścia w terminalu.

g++ main.cpp < a.in -o a.out

Użyłem takiego polecenia. W pliku a.in znajduje się tylko imię. Chciałbym aby dane z pliku a.in były podane na standardowe wejście, a do pliku a.out zapisane zostały dane wejściowe. Niestety to nie działa. Powstaje plik a.out, ale nie da się go otworzyć. Gdy w kodzie programu usunę zmienną name i zostawię sam Hello World to ten napis prawidłowo zapisuje się do pliku. Lecz gdy podaje coś na wejściu to coś jest nie tak. W jaki sposób rozwiązać ten problem?

1 odpowiedź

+2 głosów
odpowiedź 7 marca 2021 przez adrian17 Mentor (350,120 p.)
wybrane 7 marca 2021 przez Michał Drożdżyński
 
Najlepsza
Mylisz kompilację i uruchomienie programu.

Do kompilacji - wywołania g++ - nie przekazujesz nic związanego z wejściem/wyjściem programu.

Pipe'owanie z użyciem `<`, `>` używasz przy odpalaniu już skompilowanego programu.

Podobne pytania

+1 głos
0 odpowiedzi 183 wizyt
0 głosów
1 odpowiedź 550 wizyt

93,103 zapytań

142,076 odpowiedzi

321,560 komentarzy

62,444 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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...