Chciałbym stworzyć bufor ciągów do wielu operacji przetwarzania, formatowania i na koniec zapisywania bufora w pliku tekstowym przy użyciu sprintffunkcji w stylu C w Pythonie. Z powodu instrukcji warunkowych nie mogę zapisać ich bezpośrednio do pliku.
np. pseudokod:
sprintf(buf,"A = %d\n , B= %s\n",A,B)
/* some processing */
sprint(buf,"C=%d\n",c)
....
...
fprintf(file,buf)
Więc w pliku wyjściowym mamy tego rodzaju o / p:
A= foo B= bar
C= ded
etc...
Edytuj, żeby wyjaśnić moje pytanie:
buf czy duży bufor zawiera wszystkie te ciągi, które zostały sformatowane przy użyciu sprintf. Idąc za swoimi przykładami, bufbędą zawierały tylko aktualne wartości, a nie starsze. np. pierwszy w, bufktóry napisałem A= something ,B= somethingpóźniej, C= somethingbył dodawany w tym samym buf, ale w twoim Pythonie odpowiedzi bufzawierają tylko ostatnią wartość, której nie chcę - chcę bufmieć wszystkie printfs, które zrobiłem od początku, jak w C.
buf, a nie na końcu). Prawdopodobnie najlepiej byłoby użyć tablicy ciągów, a następnie połączyć je ze sobą przed zapisaniem do pliku.