Я использую seek ("cur", - 1) для перемещения по текстовому файлу от конца до начала, но когда он сталкивается с новой строкой, в непрерывной позиции будут два символа "\ n", почему? - PullRequest
0 голосов
/ 14 июля 2020

Я тестирую "\ n" с "#", длина равна 1, и когда я читаю "\ n" с помощью f: read (1), он выполняется только один раз. Это странная ситуация. это код:

function exercise7_5(inputfile,cnt)
  cnt=cnt or 1
  local inputF=io.open(inputfile,"r")
  local spcnt,seeknow=0,0
  seeknow = inputF:seek("end")
  repeat
    seeknow = inputF:seek("cur",-1)
    local linecheck=inputF:read(1)
    seeknow=inputF:seek("cur",-1)
    print("seeknow"..seeknow)
    if linecheck=="\n" then
      spcnt=spcnt+1
      seeknow = inputF:seek("cur",-1)
      print("seeknow huan"..seeknow)
    end
  until spcnt==cnt or seeknow==0 
  if seeknow~=0 then
    inputF:seek("cur",2)
  end
  local ansstr=inputF:read("a")
  inputF:close()
  return ansstr
end
print(exercise7_5("fnamea.txt",2))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...