fscanf issue with reading in key-value pairs
编辑:自从被问到,我使用的是 Visual Studio 2013 Ultimate,它没有发出任何警告。
我对 C 有点陌生,文件 i/o 对我来说一直是个问题。我将如何以”keyName:valueName”的形式解析键值对?我的问题开始发挥作用,因为我的值可能是字符串、浮点数或无符号整数。
我正在使用 SDL2 编写游戏,并且尝试将各个演员的尽可能多的配置保存在单独的 .actor 文件中。按照一些示例代码,我设法通过 fscanf 读取了该对的关键部分,但是当我尝试将值 fscanf 到我的演员时,我得到了一个异常。
播放器.actor
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
folder: images/Player/ scale: 1.0,1.0 color: 255,255,255,255 colorSpecial: 10,255,100,255 xOffset: 1 numAnimations: 3 name: idle name: attack name: walk |
代码:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
void LoadActor(Actor *actor, char *filename) { FILE * file; char buf[512]; char* imageFile =""; int i = 0; file = fopen(filename,"r"); if (!file) rewind(file); while (fscanf(file,"%s", buf) != EOF) //this works continue; |
when I attempt to fscanf the value in to my actor I get an exception.
1
——约翰尼·莫普
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/269260.html