编辑代码

#include <stdio.h>
#include <string.h>

void extract_ssid_and_passwd(char* input) {
  char* ssid_pos = strstr(input, "ssid:");
  char* passwd_pos = strstr(input, "passwd:");
    
  if (ssid_pos && passwd_pos && (ssid_pos < passwd_pos)) {
    ssid_pos += strlen("ssid:");
    passwd_pos += strlen("passwd:");

    char ssid[32] = {0};
    char passwd[32] = {0};
    int i = 0;
    while ((*ssid_pos != ',') && (*ssid_pos != '\0')) {
      ssid[i++] = *ssid_pos++;
    }
    i = 0;
    while ((*passwd_pos != ',') && (*passwd_pos != '\0')) {
      passwd[i++] = *passwd_pos++;
    }

    printf("SSID: %s\n", ssid);
    printf("Password: %s\n", passwd);
  } else {
    printf("Invalid format\n");
  }
}

int main() {
  char input1[] = "ssid:my_WiFi,passwd:123456";
  char input2[] = "passwd:hello_world,ssid:my_WiFi";
  char input3[] = "ssid:my_WiFi";
  char input4[] = "passwd:123456";
  char input5[] = "ssid:my_WiFi, passwd:123456";
  char input6[] = "ssid:my_WiFi, passwd:";

  extract_ssid_and_passwd(input1);
  extract_ssid_and_passwd(input2);
  extract_ssid_and_passwd(input3);
  extract_ssid_and_passwd(input4);
  extract_ssid_and_passwd(input5);
  extract_ssid_and_passwd(input6);
 
  return 0;
}