我对 C 很陌生,我发现的任何关于我的问题的例子似乎都不起作用,或者我完全误解了那个解决方案是什么。我有一个大文件,其中包含如下数据:
赖氨酸 24L HB2 45.212 39.585 124.457 SC0 0.145 -0.795 0.585 0.157
在每一行。我已经使用 strtok 对数据进行了标记。我需要的是第二个字段,我希望将 24 存储为整数以进行比较,并将 L 存储为 char 以进行比较。
我尝试使用
sscanf(token[1], "%d%s", number, letter);
但我不断收到分段错误错误。同样在进一步尝试使用 sscanf 时,我尝试简单地打印出“LYS”(试图进一步理解我的问题),但是我的程序只会使用以下命令打印 L:
sscanf(token[0], "%c", &stemp);
letter = stemp;
printf("%c \n", letter);
但是,如果更改 %c ---> %s (希望获得整个字符串),那么我会再次获得 Segmentation fault 错误......我对 sscanf 命令有什么不明白的地方吗?为什么我不能读完整的字符串??提前感谢您的时间和帮助!
保罗