/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
indlæsning af data fra fil.
Fra : Heureka


Dato : 09-01-05 19:39

Hejsa,

Jeg har endnu et spørgsmål. Jeg prøver at indlæse data fra en fil på
følgende vis:

#include "stdafx.h"

#include "fstream.h"

#include "iostream.h"

const NUM_SAMPLES = 128;

int _tmain(int argc, _TCHAR* argv[])

{

char str[NUM_SAMPLES];


fstream file_op("input.txt",ios::in);

while(file_op >> str)

cout << str ;

file_op.close();

cout << " ----- Testing ------" << endl;

cout << "size of buffer : " << sizeof(str) << endl;

for(int indx=0;indx<NUM_SAMPLES;indx++)

printf(" sample no. : %i = %d \n",indx,str[indx]);

getchar();

return 0;

}



Problemet her er at jeg ikke kan læse fra arrayet "str". Jeg kan se i
konsolvinduet at mine data bliver læst rigtigt ind ved prompten, men jeg kan
ikke få dem skrevet ud i FOR-løkken.





 
 
Heureka (09-01-2005)
Kommentar
Fra : Heureka


Dato : 09-01-05 19:45

forøvrigt ligger mine data gemt således i input.txt filen:

9.5012929e-001
2.3113851e-001
6.0684258e-001
4.8598247e-001
8.9129897e-001
7.6209683e-001
4.5646767e-001
1.8503643e-002
8.2140716e-001
4.4470336e-001
6.1543235e-001
7.9193704e-001
9.2181297e-001
7.3820725e-001
1.7626614e-001
......
"Heureka" <stoltzo@hotmail.com> wrote in message
news:41e17a46@news.wineasy.se...
> Hejsa,
>
> Jeg har endnu et spørgsmål. Jeg prøver at indlæse data fra en fil på
> følgende vis:
>
> #include "stdafx.h"
>
> #include "fstream.h"
>
> #include "iostream.h"
>
> const NUM_SAMPLES = 128;
>
> int _tmain(int argc, _TCHAR* argv[])
>
> {
>
> char str[NUM_SAMPLES];
>
>
> fstream file_op("input.txt",ios::in);
>
> while(file_op >> str)
>
> cout << str ;
>
> file_op.close();
>
> cout << " ----- Testing ------" << endl;
>
> cout << "size of buffer : " << sizeof(str) << endl;
>
> for(int indx=0;indx<NUM_SAMPLES;indx++)
>
> printf(" sample no. : %i = %d \n",indx,str[indx]);
>
> getchar();
>
> return 0;
>
> }
>
>
>
> Problemet her er at jeg ikke kan læse fra arrayet "str". Jeg kan se i
> konsolvinduet at mine data bliver læst rigtigt ind ved prompten, men jeg
> kan ikke få dem skrevet ud i FOR-løkken.
>
>
>
>



Bertel Brander (09-01-2005)
Kommentar
Fra : Bertel Brander


Dato : 09-01-05 20:35

Heureka wrote:
> Problemet her er at jeg ikke kan læse fra arrayet "str". Jeg kan se i
> konsolvinduet at mine data bliver læst rigtigt ind ved prompten, men jeg kan
> ikke få dem skrevet ud i FOR-løkken.

Det er ikke helt klart for mig hvad hensignten er.
Jeg har forsøgt at lave en version der virker.

#include <fstream>
#include <iostream>
#include <stdio.h>

const int NUM_SAMPLES = 128;

int main()
{
double str[NUM_SAMPLES];

std::fstream file_op("input.txt", std::ios::in);

int NumSamples;
for(NumSamples = 0; file_op >> str[NumSamples] && NumSamples <
NUM_SAMPLES; NumSamples++)
std::cout << str[NumSamples] << std::endl;

file_op.close();

std::cout << " ----- Testing ------" << std::endl;

std::cout << "size of buffer : " << sizeof(str) << std::endl; // ??

for(int indx=0; indx < NumSamples; indx++)
std::cout << "sample no. : " << indx << " = " << str[indx] <<
std::endl;

std::cout << "Hit enter to exit" << std::endl;
getchar();

return 0;
}

--
"We learned more from a three minute record, baby
than we ever learned in school"
- Bruce Springsteen

Heureka (09-01-2005)
Kommentar
Fra : Heureka


Dato : 09-01-05 20:53

Hej Bertel,

Meget fornemt. Nu kan jeg endelig kommer videre :)

Tak for den store hjælp!
Thomas


"Bertel Brander" <bertel@post4.tele.dk> wrote in message
news:41e18776$0$230$edfadb0f@dread12.news.tele.dk...
> Heureka wrote:
>> Problemet her er at jeg ikke kan læse fra arrayet "str". Jeg kan se i
>> konsolvinduet at mine data bliver læst rigtigt ind ved prompten, men jeg
>> kan ikke få dem skrevet ud i FOR-løkken.
>
> Det er ikke helt klart for mig hvad hensignten er.
> Jeg har forsøgt at lave en version der virker.
>
> #include <fstream>
> #include <iostream>
> #include <stdio.h>
>
> const int NUM_SAMPLES = 128;
>
> int main()
> {
> double str[NUM_SAMPLES];
>
> std::fstream file_op("input.txt", std::ios::in);
>
> int NumSamples;
> for(NumSamples = 0; file_op >> str[NumSamples] && NumSamples <
> NUM_SAMPLES; NumSamples++)
> std::cout << str[NumSamples] << std::endl;
>
> file_op.close();
>
> std::cout << " ----- Testing ------" << std::endl;
>
> std::cout << "size of buffer : " << sizeof(str) << std::endl; // ??
>
> for(int indx=0; indx < NumSamples; indx++)
> std::cout << "sample no. : " << indx << " = " << str[indx] <<
> std::endl;
>
> std::cout << "Hit enter to exit" << std::endl;
> getchar();
>
> return 0;
> }
>
> --
> "We learned more from a three minute record, baby
> than we ever learned in school"
> - Bruce Springsteen



Ivan Johansen (10-01-2005)
Kommentar
Fra : Ivan Johansen


Dato : 10-01-05 08:49

Bertel Brander wrote:
> for(NumSamples = 0; file_op >> str[NumSamples] && NumSamples <
> NUM_SAMPLES; NumSamples++)

Jeg synes at det her ser lidt mistænkeligt ud. Hvad sker der når
NumSamples = NUM_SAMPLES? Først skriver du i str[NumSamples] hvorefter
du finder ud af at indekset ikke er gyldigt. Jeg tror det er bedre at
skrive:

for(NumSamples = 0; NumSamples < NUM_SAMPLES &&
file_op >> str[NumSamples]; NumSamples++)


Ivan Johansen

Bertel Brander (10-01-2005)
Kommentar
Fra : Bertel Brander


Dato : 10-01-05 20:06

Ivan Johansen wrote:
> Bertel Brander wrote:
>
>> for(NumSamples = 0; file_op >> str[NumSamples] && NumSamples <
>> NUM_SAMPLES; NumSamples++)
>
>
> Jeg synes at det her ser lidt mistænkeligt ud. Hvad sker der når
> NumSamples = NUM_SAMPLES? Først skriver du i str[NumSamples] hvorefter
> du finder ud af at indekset ikke er gyldigt. Jeg tror det er bedre at
> skrive:
>
> for(NumSamples = 0; NumSamples < NUM_SAMPLES &&
> file_op >> str[NumSamples]; NumSamples++)

Du har naturligvis ret.


--
"We learned more from a three minute record, baby
than we ever learned in school"
- Bruce Springsteen

Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste