• 修改字符串中特定的内容,用于OpenRecovery Script


    下面的是实例内容

    目标是把OpenRecovery Script输入的内容进行修改

    当有下面的输入:(作用是安装/emmc目录下面的update-signed.zip 刷机包)

    install /emmc/update-signed.zip

    但是twrp 中只定义了/sdcard作为内存卡,面没有定义/emmc所以就要进行目标的更换了。

    用到的代码如下所示

     1 /*
     2  * 修改给定的字符串中相应的内容
     3  * 例如 '/usr/bin' -> '/home/bin'
     4  */
     5 #include <stdio.h>
     6 #include <stdlib.h>
     7 #include <string.h>
     8 #include <unistd.h>
     9 #include <sys/stat.h>
    10 #include <dirent.h>
    11 
    12 /*方法如下:
    13  * 先得到字符串的长度,用strlen
    14  * 再对字符串的内容进行比较,当找到相应的内容后,就进行替换
    15  */
    16 int main(int argc, char *argv[]) {
    17     char str[255] = "/emmc/backup/update-signed.zip";
    18     char str_a[255] = "/sd-ext/backup/update-signed.zip";
    19     char change_file_name[255];
    20 
    21     char tmp[255];
    22     int str_size = 0;
    23     int index = 0;
    24     int i = 0;
    25     str_size = strlen(str);
    26     if (0 == strncmp(str,"/emmc",5) && str_size > 5) {
    27         memset(tmp, '', 255); //对tmp[255] 进行清零
    28          for (index = 5, i = 0; str[index] != ''; index++, i++) {
    29              tmp[i] = str[index];
    30          }
    31          printf(" '/emmc/backup/update-signed.zip' -> %s
    ",tmp);
    32          snprintf(change_file_name,255,"%s", "/sdcard");
    33          strcat(change_file_name, tmp);
    34          printf("filename is  : -> %s 
    ", change_file_name);
    35     }
    36 
    37     if (0 == strncmp(str_a, "/sd-ext", 7) && strlen(str_a) > 7) {
    38         memset(tmp, '', 255); 
    39         for (index = 7, i = 0; str_a[index] != ''; index++, i++) {
    40             tmp[i] = str_a[index];
    41         }
    42         printf(" '/sd-ext/backup/update-signed.zip' -> %s 
    ", tmp);
    43         snprintf(change_file_name, 255, "%s", "/internal_sd");
    44         strcat(change_file_name, tmp);
    45         printf("Filename is : -> %s
    ", change_file_name);
    46     }
    47 
    48     return 0;
    49 }
    50 
    51 
    52              
  • 相关阅读:
    搬运好文章->>>>>子网划分详解
    搬运好文章->>>>>子网掩码详解
    搬运好文章->>>>>IP地址和MAC地址详解
    搬运好文章->>>>>计算机中进制之间的关系和转换
    extend 与 append 的区别
    数据类型---字符串
    多引号的作用,字符串格式化
    列表复制的几种方法
    十六进制和二进制转换
    python奇偶数求和
  • 原文地址:https://www.cnblogs.com/sn-dnv-aps/p/3192298.html
Copyright © 2020-2023  润新知