C://1.TXT 内容如下
#03-07-1998
#author:Vincent
#...(不确定)
9019,123,1234 #start point(不确定)
12930,123,12445
1234,123,12556 #end point
2321,123,12670
C语言作业。就要交了。
现在要读出来数据和数据每行后面的注释内容,但是以#为行首的内容忽略。
请问怎么做啊?? 答得好,给50分,一般给20分。
不能运行,报错!!
C语言读取文件中 注释问题(急啊)
答案:1 悬赏:70 手机版
解决时间 2021-02-22 03:22
- 提问者网友:最爱你的唇
- 2021-02-21 03:11
最佳答案
- 五星知识达人网友:上分大魔王
- 2021-02-21 04:39
可以这样
#include
#include
#define MaxSize (10000)
#define MaxN (1000)
char buf[MaxSize];
int numbers[MaxN];
char note[MaxSize];
char *o;
int l, val, p, n, m;
int getint() {//读入一个数
val = 0;
while (*o && (*o < '0' || *o > '9')) ++o;
if (!*o) return 0; //读到了字符串终止符 '\0' ,因此停止
while (*o >= '0' && *o <= '9') val = val * 10 + *o++ - '0';
return 1;
}
main() {
FILE *inputfile = fopen("1.txt","r");
while (fgets(buf, MaxSize, inputfile) != NULL) {
if (buf[0] == '#') continue;//读入一行,如果行首是 # 跳过
l=strlen(buf);
for (p=0;p
for (m=0;p
note[m]='\0';o=buf;
for (n=0;getint();numbers[n++]=val);//顺次读入每一个数,存到 numbers 数组中,用n记录个数
}
}
现在可以了,之前我漏了一个分号。
#include
#include
#define MaxSize (10000)
#define MaxN (1000)
char buf[MaxSize];
int numbers[MaxN];
char note[MaxSize];
char *o;
int l, val, p, n, m;
int getint() {//读入一个数
val = 0;
while (*o && (*o < '0' || *o > '9')) ++o;
if (!*o) return 0; //读到了字符串终止符 '\0' ,因此停止
while (*o >= '0' && *o <= '9') val = val * 10 + *o++ - '0';
return 1;
}
main() {
FILE *inputfile = fopen("1.txt","r");
while (fgets(buf, MaxSize, inputfile) != NULL) {
if (buf[0] == '#') continue;//读入一行,如果行首是 # 跳过
l=strlen(buf);
for (p=0;p
for (n=0;getint();numbers[n++]=val);//顺次读入每一个数,存到 numbers 数组中,用n记录个数
}
}
现在可以了,之前我漏了一个分号。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯