[C] [生成文件]生成文件出问题

peterdocter 2008-03-23 03:43:52
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <signal.h>

int main()
{
char name[80]; //文件名
FILE *fd; //文件指针
char ifconfig[100];
char host[100];
char resolv[100];
char buf[100]; //缓存区分配
FILE *fp;
char buffer[80];
//取出当前日期
fp=popen("date '+%Y%m%d'","r");
fgets(buffer,sizeof(buffer),fp);
sprintf(name,"%s_bd",buffer);
fp=popen("ifconfig -a'","r");
fgets(ifconfig,sizeof(ifconfig),fp);
pclose(fp);
printf("%s",ifconfig);
fd = fopen("/etc/hosts","r");
fgets(host,sizeof(host),fp);
fd = fopen("/etc/resolv.conf","r");
fgets(resolv,sizeof(resolv),fp);
sprintf(buf,"curnetTime:%s\r\nhosts:%sresolv:\r\n%s",buffer,host,resolv);
printf("%s",buf);
fd = fopen(name,"a+");
fputs(buf,fp);
pclose(fd);

return 0;
}
fp=popen("ifconfig -a'","r");
fgets(ifconfig,sizeof(ifconfig),fp);
pclose(fp);
出现乱码?还有
fp=popen("date '+%Y%m%d'","r");
fgets(buffer,sizeof(buffer),fp);
sprintf(name,"%s_bd",buffer);
最后生成文件名是这样如:“20080321\n_bd”多一个"\n"出来?
最后执行结果这样:
Syntax error: Unterminated quoted string
??
curnetTime:20080323

hosts:::1 localhost.test.com.cn localhost
resolv:
127.0.0.1 localhost.test.com.cn localhost
以上只是打印出来,生成文件内容为空?
在些也请问一下,C 有没有像php 中的date函数?或者有定义过吗?或者如何把php中的函数修改为C可以用的?
注意是linux上C代码!
...全文
98 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
knowledge_Is_Life 2008-04-30
  • 打赏
  • 举报
回复
支持搂主,收藏
Mr-Chen 2008-03-25
  • 打赏
  • 举报
回复
fp=popen("date '+%Y%m%d'","r");
这句有问题吧!
Mr-Chen 2008-03-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 akirya 的回复:]
顺便说一下php是C写的,基本库什么的都是C写的.
[/Quote]
什么意思?
peterdocter 2008-03-23
  • 打赏
  • 举报
回复
fp=popen("date '+%Y%m%d'","r");
fgets(buffer,sizeof(buffer),fp);
第一知道了!
fgets(buffer,9,fp); 就好了!
gumwater 2008-03-23
  • 打赏
  • 举报
回复
几年没搞C了,忘了! :(
帮你顶下
野男孩 2008-03-23
  • 打赏
  • 举报
回复
什么乱七八糟的代码~
  • 打赏
  • 举报
回复
顺便说一下php是C写的,基本库什么的都是C写的.

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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