Chinaunix
标题:
LINUX C编程小问题
[打印本页]
作者:
风云
时间:
2004-07-30 15:47
标题:
LINUX C编程小问题
#include <stdio.h>;
int main()
{
FILE *fp;
char filename[]="/tmp/test";
char rdate[]=system("date +%Y%m%d -d '1 days ago'"
; (此句GCC编译出错,system运行正确,就是这样赋值不对)
fopen(fp,filename);
fprintf(fp,"#!/bin/sh"
;
fprintf(fp,"\n%s",rdate);
fclose(fp);
}
请问如何赋值rdate为昨日日期并写出文件?
作者:
idhly
时间:
2004-07-30 15:59
标题:
LINUX C编程小问题
stdio.h?
作者:
idhly
时间:
2004-07-30 16:06
标题:
LINUX C编程小问题
fopen的用法也不对, 正确的应该是:
extern FILE *fopen (__const char *__restrict __filename,
__const char *__restrict __modes) __THROW;
这是在stdio.h里的原形描述
作者:
风云
时间:
2004-07-30 16:13
标题:
LINUX C编程小问题
楼上的不是问题,去掉取日期的语句一切OK的。
#include <stdio.h>;
int main()
{
FILE *fp;
char filename[]="/tmp/test";
fopen(fp,filename);
fprintf(fp,"#!/bin/sh"
;
fclose(fp);
}
作者:
idhly
时间:
2004-07-30 16:19
标题:
LINUX C编程小问题
原帖由 "风云" 发表:
test";
fopen(fp,filename);
fprintf(fp,"#!/bin/sh"
;
fclose(fp);
}
你运行了吗?
还有system函数的原形描述:
extern int system (__const char *__command) __THROW;
复制代码
怎么返回值在你的程序里变成char *处理了?改用命令中管道符传输信息吧...
作者:
风云
时间:
2004-07-30 16:31
标题:
LINUX C编程小问题
我运行的,正确:生成一个文件,文件内容是#!/bin/sh
你说的对,system()返回是int,那我要把system()运行
显示的结果写入指定的那个文件该怎么办呢?
在此先谢谢你的帮助。
作者:
idhly
时间:
2004-07-30 16:51
标题:
LINUX C编程小问题
我编译了你的程序是错误的, 而且你的程序本身都没有fopen是否成功的判断部分, 这对一个程序员来说是不可饶恕的错误哈...
好久不编C程序了, 所以只能给你一个思路, 那就是通过标准IO(STDIO得到参数'date +%Y%m%d -d '1 days ago'的结果, 然后通过管道符号:"|
把它传到C程序里(用fgets获得)然后写入文件中...
我编译可通过的基本程序为:
#include <stdio.h>;
int main(int argc, char *argv[])
{
FILE *fp;
if((fp=fopen("test.txt","wt"))==NULL)
{
printf("Cannot open file strike any key exit!\n");
exit(1);
}
fprintf(fp,"#!/bin/sh\n");
fprintf(fp,"%s",argv[1]);
fclose(fp);
}
复制代码
运行时候用a.out `date +%Y%m%d -d '1 days ago'`
作者:
idhly
时间:
2004-07-30 17:17
标题:
LINUX C编程小问题
好了, 管道符版本也出炉了
int main(void)
{
FILE *fp;
char st[20];
scanf("%s",st);
if((fp=fopen("test.txt","wt"))==NULL)
{
printf("Cannot open file strike any key exit!\n");
exit(1);
}
fprintf(fp,"#!/bin/sh\n");
fprintf(fp,"%s",st);
fclose(fp);
}
复制代码
运行: date +%Y%m%d -d '1 days ago'| a.out
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2