How to mask a number with stars except the last 4 digits in C

1 Answer

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

void mask_number_with_stars_except_the_last_4_digits(char cardNumber[], char maskedNumber[]) {
    char last4Digits[5];
    
    strncpy(last4Digits, cardNumber + strlen(cardNumber) - 4, 4);
    last4Digits[4] = '\0';
    
    memset(maskedNumber, '*', strlen(cardNumber) - 4);
    strcpy(maskedNumber + strlen(cardNumber) - 4, last4Digits);
}

int main() {
    char cardNumber[] = "9003125334656789";
    char maskedNumber[17] = "";
    
    mask_number_with_stars_except_the_last_4_digits(cardNumber, maskedNumber);
    
    printf("%s\n", maskedNumber);
    
    return 0;
}



/*
run:

************6789

*/

 



answered May 29, 2024 by avibootz
...