2 code examples:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char*argv[])
{
FILE * fp;
char * value = "3 # I mention 7 here";
//char * value = "2 # This is a bogus comment";
//char * value = "1 # enable packet forwarding for IPv6 (should be dynamic WRT firewall TBD)";
char * path = "/proc/sys/net/ipv6/conf/all/forwarding";
int n=0;
printf("Will write the string [%s] into file [%s]\n" , value, path);
if ((fp = fopen(path, "w")) == NULL) {
perror("fopen:");
exit(1);
}
n = fprintf(fp, "%s\n", value);
printf("printf(3) returns %d\n", n);
if (fclose(fp) != 0) {
perror("close");
exit(2);
}
}
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char*argv[])
{
int fd;
char * value = "3 # I mention 7 here";
//char * value = "2 # This is a bogus comment";
//char * value = "1 # enable packet forwarding for IPv6 (should be dynamic WRT firewall TBD)";
char * path = "/proc/sys/net/ipv6/conf/all/forwarding";
int n=0;
int len;
len=strlen(value)+1;
printf("Will write the string [%s] length=%d, into file [%s]\n" , value, len, path);
if ((fd = open(path, O_WRONLY)) == -1) {
perror("open:");
exit(1);
}
n = write(fd, value, len);
printf("write(2) returns %d\n", n);
if (close(fd) != 0) {
perror("close");
exit(2);
}
}