OCaml使用Scanf读取字符

时间:2016-05-03 11:41:02

标签: ocaml

有没有办法用Scan f读取字符?我不想读一行,因为我正在阅读其他类型的变量。

4 a ... 223 5 72

由于线路的结构不规则,我只想担心阅读字符串' a'在这个例子中。 假设我已经读过int并且只需要读取char。

1 个答案:

答案 0 :(得分:2)

使用Scanf模块:首先打开扫描缓冲区,然后使用正确的扫描仪使用bscanf。

假设您的文件包含: 4 a 45

open Scanf;;
let b = Scanning.from_file "<your file>";;
let a = bscanf b "%d" (fun x -> x);; will return 4
let a = bscanf b "%c" (fun x -> x);; will return ' '
let a = bscanf b "%c" (fun x -> x);; will return 'a'
let a = bscanf b "%c" (fun x -> x);; will return ' '
let a = bscanf b "%d" (fun x -> x);; will return 45

在Scanf的文档中,建议使用bscan而不是fscanf。