Mam plik postaci :
0 0 1.84582
1 1.02693 1.84582
2 1.54039 1.84582
3 2.05385 1.84582
wpisany do tablicy jak każdą liczbę w danej kolumnie przedstawić jako inną zmienną np.
a=0 b=0 c=1.84582
a=1 b=1.02693 c=1.84582
itd.
Mam plik postaci :
0 0 1.84582
1 1.02693 1.84582
2 1.54039 1.84582
3 2.05385 1.84582
wpisany do tablicy jak każdą liczbę w danej kolumnie przedstawić jako inną zmienną np.
a=0 b=0 c=1.84582
a=1 b=1.02693 c=1.84582
itd.
Oprzyj się o to:
#include <fstream.h>
int liczba;
ifstream infile("c:\\katalog\\plik.ext");
if (!infile) return;
while (!infile.eof())
{
infile >> liczba;
//teraz liczba jest tym czego ci potrzeba:P
}
infile.close();
PS> Zmień temat...
#include <fstream.h>
#include <iostream.h>
#include <conio.h>
void main (int argc,char *argv[])
{
int liczba;
ifstream infile(argv[1]);
if (!infile) return;
while (!infile.eof())
{
infile >> liczba;
//teraz liczba jest tym czego ci potrzeba:P
}
infile.close();
cout<<liczba;
getch();
}
przerobilem twój kod na coś takiego i nie działa :(
Takie coś mi się w Dev-C++ kompiluje piknie...
#include <fstream.h>
#include <iostream.h>
#include <conio.h>
void main (int argc,char *argv[])
{
int liczba;
ifstream infile(argv[1]);
if (!infile) return 0;
while (!infile.eof())
{
infile >> liczba;
cout<<liczba<<endl;
}
infile.close();
}
Problem pierwszy jeżeli program ma zwracać wartość to powinno być int main(), a nie void main(). A jego działanie jest dość ciekawe otóż testuje go na takim pliku tekstowym:
0 0 1.84582
1 1.02693 1.84582
2 1.54039 1.84582
3 2.05385 1.84582
4 3.08078 1.84582
5 3.59424 1.84582
6 4.10771 1.84582
7 5.13463 1.84582
8 5.64.81 1.84582
a wyświetla mi nieskończenie wiele liczb 4754128
jedna pod drugą :
4754128
4754128
4754128
...
A od czego najprosze :
fscanf(plik,"%f %f %f \n",&a,&b,&c);
No to jest super dzieki :). Słuchaj tera taki problem:
fscanf(zrodlo,"%f %f %f \n",&liczba_linijek,&czas[i],&napiecie[i]);
^
czy moge tera zrobić coś takiego | zeby mieć wszystko w tablicach,
bo jak mamy ten plik
0 0 1.84582
1 1.02693 1.84582
2 1.54039 1.84582
3 2.05385 1.84582
4 3.08078 1.84582
5 3.59424 1.84582
6 4.10771 1.84582
7 5.13463 1.84582
8 5.64.81 1.84582
to tak z pierwszej kolumny musze mieć ostanią liczbę (8=liczba wierszy, czyli to akurat może być int tylko koniecznie to musi być ostatnia liczba z kolumny, a normalny jest dłuższy niż ten tu gdzies 45000 wierszy), a z 2 i 3 kolumny wszystko bo na podstawie tego mam zrobić poźniej wykres oczkowy (napięcia od czasu).