linux下的C语言编程

xiyuanteng 2010-10-13 05:02:23
大家好,
来问一个编程类的问题
有一个文件,其内容为:
i love you;
hello world;
hello china;
需要用c语言编写个小程序,读取该文件,把存在 hello的行注释掉,并输出hello行所在的行数及开始与结束的字符,
要用到哪些函数呢?
...全文
157 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lly212 2010-10-13
  • 打赏
  • 举报
回复
fopen fscanf/fread fseek fprintf/fwrite fclose
oliver_wei 2010-10-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 justkk 的回复:]
FILE *fp = fopen... 打开文件
while( ! feof(fp) )
{
fgets 读取一行
if( feof(fp) ) break;
strstr 判断是否包含"hello"
printf 输出
}
fclose 关闭文件
[/Quote]
可以实现
小魔菇 2010-10-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xiyuanteng 的回复:]

谢谢朋友们的回答了,
请问读取一行应该怎么实现呢?
输出读取文件里的字符也不大会,
[/Quote]
fgets
xiyuanteng 2010-10-13
  • 打赏
  • 举报
回复
谢谢朋友们的回答了,
请问读取一行应该怎么实现呢?
输出读取文件里的字符也不大会,
justkk 2010-10-13
  • 打赏
  • 举报
回复
FILE *fp = fopen... 打开文件
while( ! feof(fp) )
{
fgets 读取一行
if( feof(fp) ) break;
strstr 判断是否包含"hello"
printf 输出
}
fclose 关闭文件
NEWERyy 2010-10-13
  • 打赏
  • 举报
回复
用awk查找
try325 2010-10-13
  • 打赏
  • 举报
回复
参考下面的拷贝程序
#include <stdio.h>
#include <stdlib.h>

int main( void )
{
int c;
FILE *in, *out;

in = fopen("file.in", "r");
out = fopen("file.out", "w");

while ((c = fgetc(in)) != EOF)
fputc(c, out);

exit(0);
}
lzsdc 2010-10-13
  • 打赏
  • 举报
回复
在linux里的话我会用perl,用C写正则表达式太蛋疼了。
用KMP匹配然后注释也是可以的,不过写起来会很麻烦。
lukygt 2010-10-13
  • 打赏
  • 举报
回复
open
read
write
printf
close
or


fopen
fread
fwrite
printf
fclose

小魔菇 2010-10-13
  • 打赏
  • 举报
回复
这个用脚本处理更好些
sed或者awk都可以

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧