有没有办法用Scan f读取字符?我不想读一行,因为我正在阅读其他类型的变量。
4 a ... 223 5 72
由于线路的结构不规则,我只想担心阅读字符串' a'在这个例子中。 假设我已经读过int并且只需要读取char。
答案 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。