用C语言如何实现读取一个特定文本,取出每一行第一个特定字符:后的一个字符写到特定文件中

比如读取的文本为cnu:0100:1A两行,要实现取出每行第一个冒号后的一个字符,存放到特定文本nft:1233:1B2.txt.存放格式和内容为0如何用C语言实现谢谢!... 比如读取的文本为cnu:0 1 00:1A 两行 ,要实现取出每行第一个冒号后的一个字符,存放到特定文本
nft : 1 2 33:1B
2.txt .存放格式和内容为 0 如何用C语言实现谢谢!
1
展开
 我来答
luoguolong2660
推荐于2016-08-19 · TA获得超过157个赞
知道小有建树答主
回答量:277
采纳率:0%
帮助的人:230万
展开全部
int main(int argc, char **argv)
{
FILE *src;
FILE *dst;
char line[512];
char *str;
src = fopen("1.txt", "r");
dst = fopen("2.txt", "w");
if(src == NULL || dst == NULL)
{
return -1;
}

while(fgets(line, 512, src))
{
str = line;
while(*str != ':' && *str != '\0')
{
str ++;
}
if(*str == '\0')
{
continue;
}
str ++;
fprintf(dst, "%c\n", *str);
}

fclose(src);
fclose(dst);

return 0;
}
更多追问追答
追问

 

大神上面可以用,只是有点小问题,忘补充了要比如第三行取出111,而不是1,要取出:后的一个字符串如何修改程序,谢谢!

追答
int main(int argc, char **argv)
{
FILE *src;
FILE *dst;
char line[512];
char *str;
src = fopen("1.txt", "r");
dst = fopen("2.txt", "w");
if(src == NULL || dst == NULL)
{
return -1;
}

while(fgets(line, 512, src))
{
str = line;
while(*str != ':' && *str != '\0')
{
str ++;
}
if(*str == '\0')
{
continue;
}
str ++;
fprintf(dst, "%s\n", str);
}

fclose(src);
fclose(dst);

return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式