Tag: scanf

带有JNA的函数scanf

我正在尝试使用JNA的scanf函数: package importDLLs; import com.sun.jna.Library; import com.sun.jna.Native; public class JNATest { public interface CLibrary extends Library { CLibrary clib = (CLibrary) Native.loadLibrary(“msvcrt”, CLibrary.class); void printf(String format, Object… args); int sprintf(byte[] speicher, String format, Object…args); int scanf (String format, Object… args1); } public static void main(String[] args) { CLibrary.clib.printf(“Hello World”); String test= null; args = new […]

Java中的sscanf等价物

可能重复: 什么是sscanf的Java等价物,用于使用已知模式解析字符串中的值? 我对Java很陌生,但看到sscanf函数有多么有用,我想知道Java中是否有一个等价物。 我有很多格式化的字符串(即为我的目的编写脚本语言),所以正则表达式在这里是过度的。

什么是sscanf的Java等价物,用于使用已知模式解析字符串中的值?

所以我来自C背景(原来最初,虽然我已经有近5年没用过那种语言了)而且我正在尝试用Java中的字符串解析一些值。 在CI中将使用sscanf。 在Java中,人们告诉我“使用Scanner或StringTokenizer”,但我看不出如何使用它们来实现我的目的。 我的输入字符串看起来像“17-MAR-11 15.52.25.000000000”。 CI会做类似的事情: sscanf(thestring, “%d-%s-%d %d.%d.%d.%d”, day, month, year, hour, min, sec, fracpart); 但在Java中,我所能做的就是: scanner.nextInt(); 这不允许我检查模式,对于“MAR”,我最终不得不做以下事情: str.substring(3,6); 可怕! 当然有更好的方法吗?