c - 解析文件:fgets()、fscanf() 还是其他?
问题描述
我在读取看起来像这样的文件时遇到问题(缩进正确):
I 00400570,3
S 00600a70,4
I 00400573,4
M 7ff000388,4
这就是我所做的:
FILE *input = fopen(trace_file,"r");
char line_instruction;
mem_addr memory_add; //mem_addr is typedef unsigned long int
int size;
int result;
while(!feof(input)){
fscanf(input, "%c %lx %d",&line_instruction, &memory_add, &size);
if(line_instruction == 'I'){
continue;
}
else if(line_instruction == 'S' || line_instruction == 'L'){
; //Add stuff
}
else{
; //Add Stuff
}
}
我想要发生的是字母转到变量“line_instructions”,十六进制到“memory_add”,最后的int到“size”。这不是发生的事情。这样做的正确方法/更好的方法是什么?
解决方案
推荐阅读
- c# - .NETFramework 4.6.2 客户端到 .NET Core 3.1 服务器 GRPC 客户端调用失败
- php - 禁用警告,在本地主机响应通知
- jasmine - 如何使用茉莉花测试翻译服务中的字段标签
- java - JAVA SDK 中的 Google BigQuery 代理设置
- c# - c#如何在游戏中将我的图片坐标转换为网格坐标
- ios - iOS JSON解码器数据格式不正确错误
- reactjs - 用酶反应单元测试,测试 onBlur 功能
- c++ - 在 cython 中捕获 C++ 异常
- excel - 在超链接列表中合并word文档
- javascript - 如何在 Reactjs 中监听 firebase 实时变化?