HarmonyOS 鸿蒙Next仓颉语言的控制台输入函数是什么呢?

发布于 1周前 作者 gougou168 来自 鸿蒙OS

HarmonyOS 鸿蒙Next仓颉语言的控制台输入函数是什么呢?

老师好,请问仓颉语言的控制台输入函数是什么呢?scanf(),还是getchar()。谢谢

9 回复

这里有介绍https://developer.huawei.com/consumer/cn/doc/cangjie-guides-V5/basic_io_source_stream-V5

Console.stdIn.readln()

Console.stdIn.readln()是从控制台获取单行字符串,获取其他内容可参考std.console.Console类。

import std.console.*

main() { println(“The characters you entered will be returned as is. Enter q to exit:”) try { //读取一个字符 var ch = Console.stdIn.read().getOrThrow()

    <span class="hljs-comment"><span class="hljs-comment">//判断输入的是否是字符q,如果是就退出,否则继续循环</span></span>
    <span class="hljs-keyword"><span class="hljs-keyword">while</span></span> (ch !=r<span class="hljs-string"><span class="hljs-string">'q'</span></span>) {
        <span class="hljs-comment"><span class="hljs-comment">//输入的字符是不是换行,如果不是就打印该字符</span></span>
        <span class="hljs-keyword"><span class="hljs-keyword">if</span></span> (ch != r<span class="hljs-string"><span class="hljs-string">'\n'</span></span>) {
            println(ch)
        }

        <span class="hljs-comment"><span class="hljs-comment">//重新读取一个字符</span></span>
        ch = Console.stdIn.read().getOrThrow()
    }
} <span class="hljs-keyword"><span class="hljs-keyword">catch</span></span> (e: Exception) {
    println(<span class="hljs-string"><span class="hljs-string">"An error occurred:"</span></span> + e.message)
}

}<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

两个控制台读取相关示例:

https://gitee.com/zl3624/cangjie_practice/blob/master/code/Chapter19/read_demo.cj

https://gitee.com/zl3624/cangjie_practice/blob/master/code/Chapter19/read_until_demo.cj

HarmonyOS 鸿蒙Next中的仓颉语言,关于控制台输入函数的具体实现,官方文档或标准库可能提供了标准输入输出的接口,但直接命名为“控制台输入函数”的确切名称可能因版本和库的不同而有所差异。仓颉语言作为较新的编程语言,其控制台输入输出可能通过类似println(用于输出)的内置函数或库函数来实现,但针对输入,可能需要查找如readLinescanf(如果借鉴了C语言风格)或类似功能的函数。

由于具体函数名称依赖于仓颉语言的最新文档和库实现,建议查阅最新的华为开发者联盟文档或相关教程。如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部