Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zapis do pliku danych podczas wykonywania się programu

Ostatnio zmodyfikowano 2012-10-15 17:05
Autor Wiadomość
wojtekb
Temat założony przez niniejszego użytkownika
Zapis do pliku danych podczas wykonywania się programu
» 2012-10-15 14:00:07
Witam,

Prosiłbym o pomoc w  takim skrypcie poniżej.

FILE *f;
f=fopen("regulator.txt","w");
while(i<100){
fprintf(f,"w: %4.2f ",_w," \n\n");
fprintf(f,"Kp: %4.2f ",_Kp);
fprintf(f,"Ti: %4.2f ",_Ti);
fprintf(f,"Td: %4.2f ",_Td);
fprintf(f,"y: %4.2f ",_y);
fprintf(f,"u: %4.2f  \n\r",_u);
i++;

Mianowicie, mam napisany program, który dość szybko generuje liczby (generuje aktualizując poprzednią, tak więc nie da się ich zapisać na kartce (a potrzebne mi są wyniki do zrobienia  wykresu))
I dlatego chciałbym te wyniki najpierw zapisać do pliku, ale tak, żeby każda wygenerowana liczba była w osobnym wierszu.
Napisałem więc powyższy kod. Jak uruchomię program to Zapisuje do pliku ale tylko początkową wartość każdej zmiennej, no a program generuje dalej... drugi zestaw liczb powinno mi zapisać w drugim wierszu w pliku, trzeci zestaw w trzecim wierszu itd.
Wiem, że warunek jest źle napisany, no ale innego nie wymyślę.

Czy ktoś wie jak przerobić ten skrypt, tak aby działał według mojego opisu??
P-66857
crash
» 2012-10-15 15:15:07
C/C++
#include <stdio.h>

int main()
{
   
    FILE * f;
    f = fopen( "regulator.txt", "w" );
   
    int i = 0;
   
    float _w = 12345.54321, _Kp = 2.5f, _Ti = 2.6f, _Td = 2.7f, _y = 2.8f, _u = 2.9f;
   
   
    while( i < 100 )
    {
        fprintf( f, "w: %5.5f\n", _w ); //5 przed przecinkiem, 5 po
       
        fprintf( f, "Kp: %4.2f\n", _Kp ); //4 przed, 2 po
        fprintf( f, "Ti: %4.2f\n", _Ti );
        fprintf( f, "Td: %4.2f\n", _Td );
        fprintf( f, "y: %4.2f\n", _y );
        fprintf( f, "u: %4.2f\n", _u );
        i++;
    }
    fclose( f );
}
?
P-66862
DejaVu
» 2012-10-15 17:05:36
@up: mijasz się z prawdą w zamieszczonych komentarzach. » standard Ctekst sformatowany - printf
P-66868
« 1 »
  Strona 1 z 1