![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
ast |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Мужской Репутация: ![]() ![]() ![]() |
Как считать содержимое файла txt в строковую переменную?
|
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
ast |
![]()
Сообщение
#3
|
|||
Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Мужской Репутация: ![]() ![]() ![]() |
var s: string;
t: text;
s: string;
begin
readln(s);
assign(t,s);
reset(t);
while not eof(t) do
begin
readln(t,c);
end;
writeln( c);
end.
В этом случае выводится последняя строка файла. Как загнать весь текст в одну 'с' и как быть в случае длины строки >255?
|
|||
FreeMan |
![]()
Сообщение
#4
|
- ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 480 Пол: Мужской Репутация: ![]() ![]() ![]() |
Слушай. Хоч сказку про волшебный тег, который оформляет код?
Насчёт вопроса - никак. Можно сделать массив char. А потом читать побайтно. -------------------- бб
|
klem4 |
![]()
Сообщение
#5
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
ast,Внимательно посмотри на мой код и найди одно отличие ... и ты поймешь как сделать чтобы выводилась не только последня строка но и все остальные ...
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
To: FreeMan
PChar куда делся? Вроде же был такой тип? ![]() |
FreeMan |
![]()
Сообщение
#7
|
- ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 480 Пол: Мужской Репутация: ![]() ![]() ![]() |
To: volvo
Действительно, думаю куда он делся. Не учёл. С меня можно 1 с рейтинга снять. Всё равно она халявная ![]() -------------------- бб
|
ast |
![]()
Сообщение
#8
|
Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Мужской Репутация: ![]() ![]() ![]() |
как использовать этот тип Pchar? Можно пример
|
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
uses strings;
var
f: text;
s: string;
len: word;
ps, ss: PChar;
begin
assign(f, 'test.txt');
reset(f);
len := 0; { Посмотрим, сколько символов в файле }
while not eof(f) do begin
readln(f, s); { Читаем обычную строку }
inc(len, length(s)) { Считаем ... }
end;
WriteLn('Length = ', len); { Убеждаемся, что файл длиннее 255 символов }
{ И начинаем читать в PChar }
reset(f);
ps := ''; { Для начала - пустая строка }
while not eof(f) do begin
readln(f, s); { Читаем обычную строку }
s := s + #0; { Конвертируем в дополнительный PChar }
ss := @s[1];
strcat(ps, ss); { Добавляем к основной строке }
end;
close(f);
{ И работаем с PChar с помощью процедур и функций из модуля Strings }
end.
Как видишь, ничего сложного ... ![]() Тестировалось с этим файлом: Прикрепленные файлы ![]() |
![]() ![]() |
![]() |
Текстовая версия | 18.04.2025 11:57 |