首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Eiffel中的FIle处理

Eiffel中的FIle处理
EN

Stack Overflow用户
提问于 2019-11-15 03:18:43
回答 1查看 130关注 0票数 0

给定一个文件input.txt,它由数组中的许多元素和数组中的元素组成,我应该读取数据并将其复制到Eiffel中的数组中。例如,For

代码语言:javascript
复制
3 
3 4 5
2 3 1

我应该得到len = 3a1 = {3,4,5}a2 = {2,3,1}

我尝试了以下方法,但没有成功

代码语言:javascript
复制
take_input
        -- Read user's input.
    local
        input: PLAIN_TEXT_FILE
        output: PLAIN_TEXT_FILE
        itr: INTEGER
    do
        create input.make_open_read ("input.txt")
        input.read_integer
        len := input.last_integer
        create output.make_open_write ("output.txt")
        create num.make_filled (0, 1, len)
        create rem.make_filled (0, 1, len)
        from
            input.start
            input.read_integer
            itr := 0
        until
            input.off
        loop
            itr := itr + 1
            if itr <= len then
                num [itr] := input.last_integer
                input.read_integer
            else
                rem [itr - len] := input.last_integer
                input.read_integer
            end
        end
        input.close
    end

这里有没有什么方法可以让我继续读取输入,而不是从文件的乞求开始重新开始?

EN

回答 1

Stack Overflow用户

发布于 2019-11-15 23:28:07

在读取元素的数量后,不需要转到文件的开头。因此,在from之后立即删除input.start将会起到作用。

作为一个健全性检查(以防它对您的程序很重要),在开始循环之前测试len是否为正是有意义的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58864282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档