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

Jak importować dane z pliku.txt W Builderze C++?

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
928 wizyt
pytanie zadane 24 stycznia 2020 w C i C++ przez Bfili Nowicjusz (120 p.)

Cześć!

W skrócie próbuję zrobić program w Builderze C++ i potrzebowałbym, żeby program zczytywał w pliku txt wartość liczbową, która byłaby potem do wykorzystania. Np. Użytkownik wpisuje liczbę 10. Do pliku.txt eksportowana jest liczba 10. Użytkownik wyłącza program, włącza go ponownie i znowu podaje wartość, tym razem 14. W pliku.ttx zatem powinna być zatem wartość 24. Sam schemat zrobienia czegoś takiego z C++ znam w postaci:

ifstream plik("NazwaPliku.txt");
for (int i=0; i<10; i++)
{
getline(plik,tablica[i]); // tablica została zdefiniowana wcześniej
}

Tylko w Builderze nie działa mi getline(), wyskakuje mi error "No matching function to call 'getline'". Niestety nie za bardzo potrafiłem znaleźć samemu rozwiązanie takiego problemu, na tyle proste, żebym je zrozumiał (programuję tak naprawdę od paru miesięcy, ponieważ mam zabójcze tempo na studiach i musiałem trochę nadrobić).

Z góry dziękuję za wszelkie odpowiedzi :)

2 odpowiedzi

0 głosów
odpowiedź 24 stycznia 2020 przez Inn Gaduła (4,300 p.)

Funkcja getline() odczytuje cały wiersz jako string, musisz zastosować konwersje typu.

komentarz 24 stycznia 2020 przez Bfili Nowicjusz (120 p.)
Chodzi właśnie o to, że Builder C++ nie lubi funkcji getline(), konwersja wydaje mi się, że nic nie da.
komentarz 24 stycznia 2020 przez Inn Gaduła (4,300 p.)
Nie możesz podać funkcji tablicy intów, spróbuj getline(plik, ( jakiś string ) )
komentarz 24 stycznia 2020 przez Inn Gaduła (4,300 p.)
for (int i = 0; i < 10; i++)
   {
        string liczba;
        getline(plik, liczba);
        tablica[i] = stoi(liczba);
    }

 

komentarz 24 stycznia 2020 przez Bfili Nowicjusz (120 p.)

Kod wygląda tak:

fstream plik;
	plik.open("kilometry.txt", ios::in|ios::out);
	int tablica[10];
	for(int i = 0;i<10;i++)
	{
	  String liczba;
	  getline(plik, liczba);
	  tablica[i] = stoi(liczba);
	}

getline jest podkreślony i nadal jest błąd "No matching function to call 'getline'", natomiast stoi jest podkreślony i ma błąd "use of undeclared identifier"

komentarz 24 stycznia 2020 przez Inn Gaduła (4,300 p.)
To co wysłałeś po zmianie 6 linii ( string z małej litery ) w Visual Studio 2019 się kompiluje.
komentarz 24 stycznia 2020 przez Bfili Nowicjusz (120 p.)
W Builderze string niestety musi być z dużej i w builderze się nie kompiluje. Co do zmiany środowiska to już nie za bardzo mam czas, bo szczerze mówiąc na jutro bym musiał mieć ten program działający, dlatego szukam rozwiązania dla Buildera.
komentarz 24 stycznia 2020 przez Inn Gaduła (4,300 p.)
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main() 
{
    ifstream plik("NazwaPliku.txt");

    char znak;
    while (plik.get(znak)) cout << znak;

    plik.close();            

    return 0;
}

W ten sposób możesz odczytać zawartość pliku przez wyświetlanie każdego znaku osobno. może to Ci pomoże chociaż zamknąć projekt.

0 głosów
odpowiedź 24 stycznia 2020 przez j23 Mędrzec (195,260 p.)
std::vector<int> values;

std::ifstream file("NazwaPliku.txt");

int v;

while (file >> v) {
    values.push_back(v);
}

 

komentarz 24 stycznia 2020 przez Bfili Nowicjusz (120 p.)
No dobrze, ale w sumie jak to działa? Bo teraz nie wiem jak mam wykorzystać zmienną wyciągniętą z pliku i tak naprawdę nie wiem, którą zmienną jest ta, o której mówiłem, że chcę do niej dodawać.
komentarz 24 stycznia 2020 przez j23 Mędrzec (195,260 p.)

Kod czyta wszystkie liczby z pliku do wektora values (założyłem, że liczby są typu int). Więc jak chcesz coś z tymi liczbami zrobić, bierz je stamtąd (dostęp jest taki sam jak w zwykłej tablicy).

Podobne pytania

0 głosów
1 odpowiedź 317 wizyt
0 głosów
1 odpowiedź 410 wizyt
pytanie zadane 8 maja 2019 w C i C++ przez Franek313 Nowicjusz (160 p.)
0 głosów
1 odpowiedź 358 wizyt
pytanie zadane 10 lutego 2016 w C i C++ przez BezNazwy Użytkownik (540 p.)

93,158 zapytań

142,171 odpowiedzi

321,881 komentarzy

62,487 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 224p. - nidomika
  2. 224p. - Marcin Putra
  3. 223p. - dia-Chann
  4. 221p. - ssynowiec
  5. 217p. - Mikbac
  6. 216p. - CC PL
  7. 215p. - Łukasz Piwowar
  8. 212p. - zmmz89
  9. 210p. - Adrian Wieprzkowicz
  10. 208p. - rafalszastok
  11. 206p. - Michal Drewniak
  12. 204p. - Łukasz Eckert
  13. 202p. - rucin93
  14. 200p. - robwarsz
  15. 198p. - TheLukaszNs
Szczegóły i pełne wyniki

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!

...