我正在尝试用C语言读取文件!
文件格式如下: (IP地址,IP地址,费用) 例如:
(127.0.0.1,128.1.11.12,12)
(127.0.1.2,128.0.1.12,12)
(127.0.3.4,128.4.0.12,12)
等
我有以下代码,但不幸的是这段代码无效!问题是我的所有行都进入了dest_ip变量,其余变量对于每一行都是空的!
有人可以帮我这个吗? 感谢
//open the fp and etc
char * source_ip;
char * dest_ip;
int cost;
int counter = my_ips_size;
printf("I am about to read\n");
while (fscanf(fp,"(%s,%s,%d)",dest_ip,source_ip,&cost) != EOF) { //do what ever
答案 0 :(得分:0)
这是评论中的Chux解决方案,它工作得很完美!!!!!
考虑char dest_ip [16]; char source_ip [16]; if(fscanf(fp,"(%15 [0-9。],%15 [0-9。],%d)",dest_ip,source_ip,& cost)== 3)。 ...这会将输入限制为15个字符,并且不会扫描异常的' \ 0'喜欢"%[^,]"确实