Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.01.20;
Скачать: [xml.tar.bz2];

Вниз

недопонимаю...   Найти похожие ветки 

 
new_user )   (2007-12-18 19:51) [0]

Пишу в паскале программу, нужно просто считать из файла все значения. В файле только целые числа. Делаю так:
program file_1;
uses crt;
var f : file of integer;
a : integer;
ch : char;
s : string;
begin
clrscr;
Writeln("Hello, world!");
s := "f:\uxx\j.txt";
assign(f,s);
reset(f);
while not eof(f) do begin
read(f,a);
writeln(a, " ");
end;
close(f);
readln;
end.


выводит не те числа, что неправильно?
ЗЫ не ругайтесь сильно, только начинаю )


 
Palladin ©   (2007-12-18 19:54) [1]

в случае надежды, что они действительно все integer и каждое значение с новой строки то:

program file_1;
uses crt;
var
 f : file of integer;
 a : integer;
 ch : char;
 s : string;
begin
 clrscr;
 Writeln("Hello, world!");
 s := "f:\uxx\j.txt";
 assign(f,s); reset(f);
 while not eof(f) do
  begin
   readln(f,a);
   write(a, " ");
  end;
 close(f);
 readln;
end.


 
new_user )   (2007-12-18 20:02) [2]

а как быть, если они не каждый с новой строки? допустим указаны через пробел


 
Германн ©   (2007-12-18 20:02) [3]


> new_user )   (18.12.07 19:51)

А что такое по твоему file of integer?


 
new_user )   (2007-12-18 20:07) [4]


> Германн ©   (18.12.07 20:02) [3]
> > new_user )   (18.12.07 19:51) А что такое по твоему file
> of integer?

Файл, содержащий целые числа ) То есть если файл так описан, то каждое число с новой строки?


 
Palladin ©   (2007-12-18 20:12) [5]


> [3] Германн ©   (18.12.07 20:02)

о млин... точно... дас ист пиво...


> [2] new_user )   (18.12.07 20:02)

ну так как бы это...

Var
f:Text;
r,s:String;
nLinesCounter,n,i:Integer;

Function StrToInt(Var s:String;Var n:Integer):Boolean;
Var
c:Integer;
Begin
Val(s,n,c);
StrToInt:=c<>0;
End;

Begin
Assign(f,<ФайлеНэйм>); Reset(f);
nLinesCounter:=0;
While Not Eof(f) Do
 Begin
  nLinesCounter:=nLinesCounter+1;
  ReadLn(f,s);
  r:="";
  For i:=1 to Byte(s[0]) Do
   If s[i]<>" " Then r:=r+s[i] Else
    Begin
     If StrToInt(r,n) Then Write(n," ") Else
      Begin
       WriteLn("Line ",nLinesCounter," Error");
       Halt;
      End;
     r:="";
    End;
 End;
Close(f);
WriteLn;
ReadLn;
End.


 
Германн ©   (2007-12-18 20:13) [6]


> Файл, содержащий целые числа ) То есть если файл так описан,
>  то каждое число с новой строки?
>

Ответ неверный. Строки есть только в текстовых файлах.


 
Palladin ©   (2007-12-18 20:13) [7]


> 4] new_user )   (18.12.07 20:07)

неа... это означает что файл:

1. размер в байтах которого кратен SizeOf(Integer)
2. содержит в native виде целочисленные значения


 
Palladin ©   (2007-12-18 20:27) [8]


> [6] Германн ©   (18.12.07 20:13)

неа...
1. WinOS: строки есть в любом файле, который содержит набор симоволов оканчивающийся на #13#10 (\r\n)
2. *nix: строкой считается любой набор символов, который оканчивается, в зависимости от OS, управляющим символом #13(\r), или управляющим символом #10(\n) (что гораздо чаще встречается), или совокупностью управляющих символов #13#10(\r\n) и, конечно в зависимости от компилятора, по пути к следованию к этим управляющим символам не встречаются другие управляющие символы отличные от выше приведенных

:)


 
new_user )   (2007-12-18 21:07) [9]

спасибо всем )разобрался



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.01.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.043 c
6-1178194098
Lobach
2007-05-03 16:08
2008.01.20
Отправка данных скрипту


15-1197651799
Ekzot
2007-12-14 20:03
2008.01.20
Вопрос по лицензии Turbo Delphi.


2-1198412113
}I{aI-I4er
2007-12-23 15:15
2008.01.20
Простой прикол с блокнотом


9-1165965583
Vladimir1984
2006-12-13 02:19
2008.01.20
Как выставить на поверхности Карты высот числовые зачения?


2-1197896910
Magedon
2007-12-17 16:08
2008.01.20
D2007 *.drf





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский