如何在C中的char数组中存储String值?

时间:2014-11-12 18:50:12

标签: c arrays buffer-overflow

我有char数组来存储字符串值。我想将字符串变量的值存储到char数组中。

char Password[30];
char User[2];
int i;

for(i=0; i<5; i++) {
        printf("Enter Password");
        scanf("%s", Password);
        strcpy(User[i],Password,30);
}

我想输入数组的值,它应该抛出缓冲区溢出但我不能这样做。我该怎么办?

1 个答案:

答案 0 :(得分:3)

这应该适合你:

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

int main() {

    char Password[30];
    char User[5][30];
    int i;

    for(i = 0; i < 5; i++) {
        printf("Enter Password");
        scanf("%s", Password);
        strcpy(User[i],Password);
    }

    for(i = 0; i < 5; i++)
        printf("Password %d: %s\n", i+1, User[i]);

    return 0;

}

第二个for循环是显示输出,并且每个东西都存储正确!