如何在 C 中设置获取字符串答案的字符限制?

问题描述 投票:0回答:2

我是编码初学者,最近遇到了一个简单的问题,我无法在堆栈溢出上找到解决方案,也无法在谷歌上找到解决方案。

string m = get_string("Something: ");

我不太了解代码,所以我搜索了 google 和 stackoverflow,不幸的是,它们都不起作用。

c string cs50 character-limit
2个回答
0
投票

没有办法直接限制

get_string
读取的字符数。

相反,您可以使用

strlen
来检查结果字符串的长度,即

string foo = get_string("enter a string: ");
size_t length = strlen(foo);

if (length > 24)
{
    fprintf(stderr, "String is too long!\n");
    exit(1);
}

0
投票

我认为获取字符串应该是scanf函数。下面是一个简单的 C 语言输入操作示例,最多 5 个字符:

#include <stdio.h>

int main() {
    char input[6]; // +1 for null char
    
    printf("> ");
    scanf("%5s", input);
    
    printf("The input: %s\n", input);
    
    return 0;
}
© www.soinside.com 2019 - 2024. All rights reserved.