Czytanie i zapis do pliku

0

Witam

Temat prosty, ale mam problemy.
mam plik txt, z którego czytam kolejne linie.
chciałbym po wczytaniu jednej linii tekstu na jej miejscu wpisać inną i przejść dopiero wtedy do następnej i znów: przeczytać nadpisać.
próbowałem to robić za pomocą fs.position, ale linie są różnej długości i nie wiem czy tak się da zrobić.
fragment kodu który do tej pory wyrzeźbiłem:
do
{
fs.Position = p;
string str = sr.ReadLine();
fs.Position = p;
sw.WriteLine("1 0 0");
sw.Flush();
p++;
}while(sr.Peek() != -1)

ten przypadek jest zły, bo p zmieniam tylko o 1, wiec nie przechodzę do kolejnej linii tylko do kolejnej pozycji w wierszu.
pewnie nie znam jakiejś jednej prostej komendy

0

Możesz tak zrobić jedynie jeżeli nowy wiersz nigdy nie będzie dłuższy niż stary.

0

Czyli taki kod jaki napisałem, tylko zamiast p++ zrobić p = p+20 jeżeli każdy wiersz ma 20 znaków?
dobrze myślę?
bo chyba jest szansa, żeby te wiersze były równe

0

Jednak da się to robić bez względu na ilość wierszy, poniżej fragment kodu:
do
{
fs.Position = p;
string str = sr.ReadLine();
q = str.Length;
fs.Position = p;
sw.WriteLine("1 0 0");
sw.Flush();
p=p+q+2;
}while(sr.Peek() != -1)

Zapisuje przeczytaną linie do str, następnie sprawdza długość str. potem przesuwamy pozycje o długość str, ale nie wiem dokładnie dlaczego trzeba dodać 2, ale wtedy działa poprawnie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1