1
안녕 다음 코드 샘플은 약간의 문제가 있거나 OS 내부에서 뭔가를해야합니다.파일 조작이 새 행에서 일어나지 않습니다.
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
static void usage();
#define MONC_AM_CONF "/tmp/monc.conf"
int main(int argc, char **argv)
{
int ch;
char list[200];
int len;
int fd;
memset(list,0,200);
if (argc < 11) {
usage();
exit(1);
}
while ((ch = getopt(argc, argv, "N:S:P:H:R:")) != -1) {
switch (ch) {
case 'N':
len = strlen(optarg) + 2;
sprintf(list,"%s::",optarg);
break;
case 'S':
sprintf(list+len,"%s::",optarg);
len = len + strlen(optarg) + 2;
break;
case 'P':
sprintf(list+len,"%s::",optarg);
len = len + strlen(optarg) + 2;
break;
case 'H':
sprintf(list+len,"%s::",optarg);
len = len + strlen(optarg) + 2;
break;
case 'R':
sprintf(list+len,"%s ",optarg);
len = len + strlen(optarg);
break;
default:
printf ("You specified a parameter I don't "
"know about.\n");
break;
}
}
argc -= optind;
argv += optind;
printf("Total length of string is %d\n",len);
printf("The string is %s\n",list);
fd = open(MONC_AM_CONF, O_WRONLY|O_CREAT|O_APPEND, 0644);
lseek(fd, 0,SEEK_END);
write(fd,list,len);
close(fd);
return 0;
}
static void usage()
{
printf("Please provide the command in correct format\n");
printf("monc_am_config -N <Comp_Name> -S <Start Script Path> -P <Stop Script Path> -H <HealthCheck Script Path> -R <Recovery Policy>\n");
return ;
}
명령을 실행할 때마다 출력 파일이 달라집니다. 이 프로그램을 실행할 때마다 매번 새로운 줄에 정보를 써야하지만 파일의 같은 줄에 쓰고 있습니다.
Plz 도움말. 당신은 목록에 "\ n을"을 추가한다
및 199 개 문자 적 빠른 회신 – msw
감사합니다 필요합니다 모든 것을 것을 희망한다! 그것은 나를 위해 작동합니다. – Arpit