Pereiti prie turinio

C++ sudetingas skaitymas is failo, (skubiai) plz padekit


Rekomenduojami pranešimai

Sveiki visi, norėčiau paprašyti bent jau užvesti ant kelio, arba parašyti man c++ programą , o programos reiketu tokios :

 

Pavyzdziui, yra failas duomenys.bin , ir jame yra tekstas :

 

893565652626465

4134534653132165

41321314515

32131354163459646541351214

85413132105641

145641

641634163422165454

6416541656541654641

45645646

 

Ir kad gauciau atsakyma tu skaiciu 354163459 ir 34163422 suma...

 

Ir man reikia programos, kuri man nuskaitytu paryskintas vietas i kintamuosius, ir tuos kintamuosius sudeti, o paskui isvesti i ekrana ( sita ir pats sugebesiu bet man reikia suzinoti kaip reikia nuskaityti pvz 4 simbolius is 5 eilutes vidurio, kai nera jokiu tarpu ir t.t)

Tiesiog kaip nuskaityti penkiazenkli skaiciu pvz : 54556 kuris yra 5 eilutes viduryje ir jis yra pvz nuo 11 iki 16 simbolio eiluteje.

Kad jei keistusi failas, vistiek skaitytu ta pati, nuo 11 iki 16 simbolio

 

 

Dėkui is anksto :)

 

P.S BEJE PAMIRŠAU PARAŠYTI KAD MAN REIKTU SKAITYTI IŠ .BIN FAILO ;) AR TAI KEIČIA KA NORS?

Redagavo andriukasr
Nuoroda į pranešimą
Dalintis kituose puslapiuose

nežinau tiksliai kaip nuskaitoma c++ iš failo, bet jei įmanoma eilutėm, tai nusiskaitai tą eilutę, kurios reikia į string'ą ir ant jo naudoji funkciją

 

nauja_eilute = substr(eilute, 11, 5);

 

čia eilutė - nuskaityta eilutė;

11 - pirmas simbolis, kurio reikia;

5 - kiek simbolių nuo 11 reikia nuskaityti

 

reikia includint #include <string>

Nuoroda į pranešimą
Dalintis kituose puslapiuose

rašau tiesiai čia, taip kad tikėkis klaidų, nes ne testuota. bet gal kodas padės susigaudyti.

 

#include <iostream> // konsoles ivestis/isvestis
#include <fstream> // failu ivestis
#include <string> // operacijoms su eilutemis

using namespace std;

int main()
{
fstream failas("pvz.txt.");
string eilute;
for (int i = 0; i < 4; i++)
{
	getline(failas, eilute); // situ tarkim nereikia
}

getline(failas,eilute); // nuskaitom is failo eilute, kurioje yra reikalingi skaiciai
int skaic1 = atoi(substr(eilute, 11, 5)); // nuo 11 simbolio imam 5 sekancius simbolius ir konvertuojam juos i int

getline(failas,eilute); //situ eiluciu tarkim vel nereikia
getline(failas,eilute);

getline(failas,eilute);
int skaic2 = atoi(substr(eilute, 5, 7); //nuo 5 simbolio imam 7 sekancius ir konvertuojam i int



//darom su skaic1 ir skaic2 ka norim
int atsakymas = skaic1 + skaic2;
}

 

šitoj svetainėj paieškok funkcijų, jei neaiškios, paskaityk.

padės susigaudyt.

Redagavo theScientistAdam
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Dėkui labai labai, pabandysiu pasidaryti, jei išeis, parašysiu :)

REGADUOTA :

 

Kompiliuojant su Code blocks, raso kad atoi is not declared, ir kad substr is not declared, o kompiliuojant su visual studio, raso substr : identifer not found. K daryt? :s BEJE PAMIRŠAU PARAŠYTI KAD MAN REIKTU SKAITYTI IŠ .BIN FAILO ;) AR TAI KEIČIA KA NORS?

Redagavo andriukasr
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tai sita suprantu, tik maciau kad reikia rasineti ios:binary ten, ir kitos komandos, bet isbandziau nieko nekeitus tik galune, ir veikia. Bet kodel man meta errorus ant substr ir atoi komandu?

Jei parašytum tiksliai klaidas, gal ir galėtume padėt... :)

EDIT: A, tiesa, neranda funkcijų... Prie inkludų prirašyk:

#include <string.h>
#include <stdlib.h>

Redagavo Silke
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...