C语言读取TXT文件,忽略文件空格,把内容写入数组中应该怎么实现?

#include<stdio.h>#include<stdlib.h>#defineSIZE_view50structview_info{intid;charname[2... #include <stdio.h>
#include <stdlib.h>

#define SIZE_view 50

struct view_info
{
int id;
char name[20];
int code;
char shortname[20];
char LName[100];
}views[SIZE_view];
void read()
{
FILE *fp;
int i;
fp=("1.txt",r);//接下来我想不到好的方法
}

这里是1.txt的内容,里面如果用fscanf格式化会读入空格,有没有什么好的方法,能把空格忽略,然后直接把其他内容读入views[i].id等等数组里面

1 哈尔滨 101 HaEB 哈大线,京哈线
2 长春 102 CHCH 哈大线,京哈线
3 沈阳 103 SHY 哈大线,京哈线
4 大连 104 DL 哈大线,京哈线
5 天津 105 TJ 京哈线,京沪线
6 北京 106 BJ 京哈线,京沪线,京广线,京福线
7 呼和浩特 107 HHHT 京西线,徐西线
8 乌鲁木齐 108 WLMQ 乌兰线
9 西宁 109 XN 京西线,徐西线
10 兰州 110 LZ 京西线,徐西线,乌兰线
11 西安 111 XA 徐西线,京昆线
12 郑州 112 ZHENGZ 京昆线,京广线,徐西线
13 徐州 113 XZH 徐西线,京沪线,京福线
14 上海 114 SHH 京沪线,南沪线,京福线
15 武汉 115 WH 京广线
16 成都 117 CHD 京昆线
17 昆明 116 KM 京昆线,昆柳线,昆福线
18 贵阳 118 GY 昆柳线,南成线,昆福线
19 株洲 119 ZHUZH 南沪线,京九线,昆福线
20 南昌 120 NCH 京福线,昆福线
21 福州 121 FZH 京福线,昆福线
22 广州 122 GUANGZ 京广线
23 深圳 123 SHZH 京广线
24 柳州 124 LZH 昆柳线,南沪线,南成线
25 南宁 125 NN   南沪线,南成线
26 赤峰 126 CHF 京赤线
27 北票 127 BP 沈票线
展开
 我来答
xoaxa
推荐于2016-02-29 · TA获得超过8607个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3395万
展开全部
#include <stdio.h>
#include <stdlib.h>
 
#define SIZE_view 50
 
struct view_info {
int id;
char name[20];
int code;
char shortname[20];
char LName[100];
}views[SIZE_view];

int read() {
FILE *fp;
int n = 0;
if((fp = fopen("1.txt","rt")) == NULL) {
printf("不能打开数据文件!\n");
return 0;
}
while(fscanf(fp,"%u%s%d%s%s",&views[n].id,views[n].name,
&views[n].code,views[n].shortname,views[n].LName) == 5)
++n;
return n;
}
更多追问追答
追问
这样真的可以不读入空格?%s也是接受空格的啊
追答
空格被用来隔开数据,这是scanf()函数的特点,各个数据间有1个空格可多个空格都不会影响读入结果。
X_earth
2015-05-31 · TA获得超过248个赞
知道小有建树答主
回答量:204
采纳率:73%
帮助的人:63.2万
展开全部
一行一行读出来 然后用sscanf
追问
fgets一行一行读吗?sscanf怎么用啊,能提示一下吗,谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式