bardzo długi string

M0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

hej,
programuje w Pascalu i mam mały problem.
czy jest jakaś prosta mozliwosc stworzenia lancucha znakow dluzszego niz 255 znakow?
chce bardzo dlugi string zapisac do pliku tekstowego.

napisalem sobie funkcje zlaczajaca string za pomocą "+", kompiluje się, ale mimo wszystko wyswietla mi nadal tylko 255 znakow.
macie jakis pomysl?

olesio
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
  • Postów: 4191
0
Kopiuj
program ok;

{$MODE DELPHI}

var
  S : string;
  I : integer;
begin
  S := '';
  for I := 1 to 666 do
    S := S + 'A';
  S := S + '!';
  Write(S);
  Readln;
end.
SI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 184
0
marcin_01 napisał(a)

chce bardzo dlugi string zapisac do pliku tekstowego.

Jeżeli zależy Ci, aby długi łańcuch był tylko w pliku tekstowym, to możesz zapisywać do pliku krótkie łańcuchy (do 255 znaków) za pomocą instrukcji Write zamiast Writeln. Cały tekst w pliku znajdzie się w jednej linijce.

pelsta
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 819
0

Może zamiast typu string dasz radę jakoś wykorzystać typ array of Char?

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
0

czy jest jakaś prosta mozliwosc stworzenia lancucha znakow dluzszego niz 255 znakow?

Free Pascal? użyj typu ansistring, albo daj {$H+} co powoduje że jest "type string=ansistring;". Długość stringa praktycznie nieograniczona. Działa „po prostu”.

Turbo Pascal? tablica znaków np. array[0..60000] of char i wskaźnik na nią (typ pchar). Trochę z tym kombinowania, ale można. String ograniczony do około 64 kilobajtów.

Jemu chyba chodziło o Turbo Pascala?, w którym nie ma szans na "długie" stringi
Nieprawda.

mto9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 380
0

Najprościej użyć typu PCHAR

M0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

ok dzieki :)
a teraz nieco inny problem.
co jesli chcialbym wczytac bardzo dlugi string(wiecej niz 255 znakow) z pliku?

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
0

Proponuję poczytać helpa do Turbo Pascala na tematy: zero based character array, null terminated strings, pchar, i okoliczne. Raczej mało kto pamięta dokładne nazwy funkcji które były w TP7, zwłaszcza że to mało znany temat.
Sprawa sprowadza się do tzw. c-stringów, czyli stringów takich, jakie są w języku C. Turbo Pascal je jak najbardziej obsługuje, np. takie coś powinno działać:

Kopiuj
var napis:array[0..1023] of char;
begin
  readln(napis);
  writeln(napis);
end.

(ale niekoniecznie pozwoli na wczytanie więcej niż 255 znaków za jednym razem)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.