c语言的strlen错误,c - 错误:IntelliSense:标识符“strlen”在C中未定义 - 堆栈内存溢出...

我得到这个错误两次,我不知道为什么因为我在开头包含了stdlib.h所以我不确定我做错了什么或忘了添加? 任何人都可以看到它为什么会出现? 错误:IntelliSense:标识符“strlen”在C中未定义

#include

#include

#include

FILE*fp;

char *symbols = "#~!$%^&*()+=<>?/@"; //Random Symbol is generated form this list

int main(void) {

char password[4 + 4 + 2 + 2 + 1];

int i, j=0, len=sizeof(password)-1;

int menuNum = 0;

int passwordCheck[15+1];

fp = fopen("passwords.txt", "a+");

//Opens the text file to save the Passwords

srand(time(NULL));

printf(" Main Menu\n");

printf("********************************\n");

printf("\nEnter 1 to Generate a New Password: ");

printf("\n\n");

printf("Enter 2 to Check Old Passwords: ");

printf("\n\n");

printf("Enter 3 to Exit. ");

printf("\n\n");

scanf("%d", &menuNum); // reads number

if (menuNum == 1)

{

printf("********************************\n");

printf("\nYour New Password is: \n\n");

//Each Password will Have 12 Characters(4 Uppercase letters, 4 Lowercase letters, 2 Numbers & 2 Symbols)

for (i = 0; i < 4; ++i)

password[j++] = 'a' + rand() % ('z' - 'a' + 1); //Generates 4 random Lowercase characters

for (i = 0; i < 4; ++i)

password[j++] = 'A' + rand() % ('Z' - 'A' + 1); //Generates 4 random Uppercase characters

for (i = 0; i < 2; ++i)

password[j++] = '0' + rand() % ('0' - '9' + 1); //Generates 2 random numbers

for (i = 0; i < 2; ++i)

password[j++] = symbols[rand() % strlen(symbols)]; //Generates 2 random symbols

password[j] = '\0';

for(i = 0; i < sizeof(password)-1; ++i)

{

char c = password[i];

j = rand() % len;

password[i] = password[j];

password[j] = c;

}

printf("%s\n\n", password);

printf("********************************\n");

fprintf(fp, "\n%s", password); //Outputs the Generated Passoword to the text file

fclose(fp); //Closes the text file

system("pause");

}

else if (menuNum == 2)

{

printf("\nEnter your password for checking: ");

scanf("%s", passwordCheck); // reads password

if (strlen(passwordCheck) > 15) // Checks length of Password

{

printf("'%s' is too long. Needs to be less then 15 Characters\n", passwordCheck);

system("pause");

}

else if (strlen(passwordCheck) < 9) //Checks length of Password

{

printf("'%s' is too short. Needs to be more then 9 Characters\n", passwordCheck);

system("pause");

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值