» »

[C] - branje zadnjih znakov iz vrstice

[C] - branje zadnjih znakov iz vrstice

Gwanaroth ::

V datoteki imam podatke v takem formatu:

308942 -1.500000e+01 -6.237590e-07
312121 -1.500000e+01 -6.440814e-07
315302 -1.500000e+01 -6.836881e-07
318482 -1.500000e+01 -7.055025e-07
321662 -1.500000e+01 -7.300692e-07

V zadnjem stolpcu so tako pozitivne kot negativne vrednosti. Narediti moram, da program v Cju prebere zadnji podatek v vrstici, torej -6.237590e-07, če je negativen, ga mora pretvorit v pozitivnega.

Vrstice iz datoteke berem s funkcijo fgets(). Lahko namignete, kako "izluščiti" le zadnji podatek iz te vrstice, ker se mi ne sanja ravno dosti.. ?
Lights often keep secret hypnosis..

LjubimPeezde ::

Pomagaj si s presledki
Ali pa uproabi kakšno knjižnjico s kakšno funkcijo da ti recimo posamezne vrednosti razdeli po presledkih v eno tabelo in potem samo pokličeš tabela[radnji element] da dobiš zadnjo vrednost. Potem pa preveriš če je prvi znak = '-' In pač narediš kar je za narediti.
Lahko pa si tako funkcijo napišeš tudi sam :P

Zgodovina sprememb…

napsy ::

Ali pa z fscanf/sscanf:

fscanf(fd, "%d %e %e", &myint, &mydouble1, &mydouble2);
sscanf(str, "%d %e %e", &myint, &mydouble1, &mydouble2);
"If you die, you die. But when you live you live. There is no time to waste."

Zgodovina sprememb…

  • spremenil: napsy ()

fiction ::

Pametno je najbrz brati datoteko vrstico po vrstici.
Vsakic preberes vrsto s fgets() v nek buffer.
Za razdelitev tega niza znakov po presledkih potem lahko uporabis strtok() oz. manj prenosljiv, a boljsi strsep().

Ampak v tem primeru je najbrz lazje narediti kar omenjeni
sscanf(str, "%d %e %e", &myint, &mydouble1, &mydouble2);
nad bufferjem, pri cemer lahko naredis tudi nekaj v stilu:
if (sscanf(str, "%*d %*e %e", &mydouble) != 1)
/* Napacen format vrstice */
Iz manuala:
Following the % character introducing a conversion there may be a number of flag characters, as follows:
* Suppresses assignment. The conversion that follows occurs as
usual, but no pointer is used; the result of the conversion is
simply discarded.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C] Razbitje stringa s pomočjo indeksov

Oddelek: Programiranje
5820 (698) Shinobi
»

[C++][Naloga] Tekstovne datoteke, realna števila

Oddelek: Programiranje
254007 (3623) Gundolf
»

[C] atoi() problem

Oddelek: Programiranje
61005 (945) sid_dabster
»

C++ vs. C (strani: 1 2 )

Oddelek: Programiranje
766852 (5843) rokpok
»

Kako bi izbrisal vrstico v neki datoteki

Oddelek: Programiranje
91123 (1000) DMouse

Več podobnih tem