Ik ben bezig met een stuk code dat meetwaarden in een array moet zetten vanuit een textfile. Lezen uit een file lukt nog wel, maar ik krijg het niet voor elkaar om deze waarden te converteren naar doubles en deze in een array te zetten. Zou iemand mij even een ideetje kunnen geven?
Hoe staan ze in je file: ASCII / binair? Per regel / CSV?
Kijk eens onder F1 naar de scanf-familie, die is denk ik je vriendje in deze: kan je meteen doubles inlezen. Als je alleen strings ingelezen krijgt, moet je de double-variant van itoa zien te vinden. Er zijn overigens ook allerlei "standaard" functies voor die conversie in de string-classes dacht ik.
Kijk eens onder F1 naar de scanf-familie, die is denk ik je vriendje in deze: kan je meteen doubles inlezen. Als je alleen strings ingelezen krijgt, moet je de double-variant van itoa zien te vinden. Er zijn overigens ook allerlei "standaard" functies voor die conversie in de string-classes dacht ik.
Zo scherp als een voetbal!
Ze staan asl ASCII in de file, gescheiden door ;. Die conversie ben ik al wat verder mee, dat moet wel lukken, alleen om het dan in een nieuwe array te krijgen, dat lukt niet.
als je de array hebt waar puur het cijfer instaat, dan kun je atoi gebruiken, of een dergelijke functie (je hebt ook de 64bits versie, maar die weet ik zo even niet meer... iets van _a64toi)
Ik heb nu voor de conversie atof gebruikt en dat schijnt te werken. Bedankt. Moet het nu alleen nog in een array krijgen.
Tip voor de volgende keer: P&W FAQ - De "quickstart"
Uit 2-3 regels globale informatie kunnen we je normaliter niet echt helpen, alhoewel je deze keer zo te zien geluk had
Uit 2-3 regels globale informatie kunnen we je normaliter niet echt helpen, alhoewel je deze keer zo te zien geluk had
Wil je een array met een dynamische lengte? Of is er een vast aantal cijfers? Als er een vast aantal cijfers is dan zou het niet veel voor moeten stellen, een dynamisch array is net iets moeilijker, maar ook niet onoverkomelijk. Je zal dan met memory allocation (malloc of calloc geloof ik) aan de gang moeten.Verwijderd schreef op 02 juni 2004 @ 09:14:
Ik heb nu voor de conversie atof gebruikt en dat schijnt te werken. Bedankt. Moet het nu alleen nog in een array krijgen.
'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.
std::copy, std::vector, std::istream_iterator en std::back_inserter ? Klinkt bijna als een regel code.
Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein
strtod is een betere manier van converteren van string naar double dan atoi / atof.
Als het een dynamisch array moet zijn is std::vector idd de beste oplossing; die doet memory management voor je, op een efficiente manier meestal.
Als het een dynamisch array moet zijn is std::vector idd de beste oplossing; die doet memory management voor je, op een efficiente manier meestal.
More than meets the eye
There is no I in TEAM... but there is ME
system specs
Pagina: 1