1.替换文本中关键字
#include <stdlib.h>
#include <stdio.h>
int main()
{
system("cat /mnt/hgfs/share/pi/1.txt");
system("sed -i 's#qwe.hex#/home/pi/4G/qwe.hex#g' /mnt/hgfs/share/pi/1.txt");
system("cat /mnt/hgfs/share/pi/1.txt");
return 0;
}
2.获取文本中字符串,并进行替换
#include<stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
int main(){
char Down_state[]="XX.XX_00000";
const char *pathname = "/mnt/hgfs/Workspace/4G/Down_state.txt";
int fd = open(pathname,O_RDONLY);
read(fd,Down_state,128);
*(Down_state+6)='a';
*(Down_state+7)='C';
printf("read from file:\n%s\n",Down_state);
close(fd);
return 0;
}
3.system执行系统命令时可以自由键入参数
#include <stdlib.h>
#include <stdio.h>
//int main()
int main(int argc,char *argv[])
{
//main函数传参 给system赋值
//system()函数里的参数不可以直接是变量
//使用sprintf先格式化到一个字符串数组中,然后传入system
char fuse_cmd[100];//
sprintf(fuse_cmd,"python /home/pi/fuse/my_start.py m64 %s > fuse_state.txt",argv[1]);
system(fuse_cmd);
return 0;
}
4.检查网络是否通畅
#include<stdio.h>
#include <unistd.h>
int go_ping(char *svrip)
{
int i = 0;
while(i < 3)
{
pid_t pid;
if ((pid = vfork()) < 0)
{
printf("vfork error");
exit(1);
}
else if (pid == 0)
{
if ( execlp("ping", "ping","-c", "1",svrip, (char*)0) < 0)
{
printf("execlp error\n");
exit(1);
}
}
int stat;
waitpid(pid, &stat, 0);
if (stat == 0)
{
return 0;
}
sleep(3);
i++;
}
return -1;
}
int main(void)
{
int ret = go_ping("www.baidu.com");
printf("+++++++++++++ret:%d\n",ret);
if(ret == 0)
{
printf("connnect success\n");
}
else if(ret == -1)
{
printf("connnect failed\n");
}
}
5.将终端的显示信息全部输出到txt
#include <stdlib.h>
#include <stdio.h>
int main()
{
system("script -c \"pwd\" \"1111\"");
return 0;
}