C 如何在数组中存储包含变量的字符串?
因为我知道C 如何在数组中存储包含变量的字符串?,c,string,C,String,因为我知道 char array[STRING_ELEMENTS + 1][MAX_STRING_LENGTH + 1]; /*just for the first element*/ array[0] == ("this number: %d, and that number: %d\n", a, b); 可能让我看起来很恶心。不过,我不知道还有什么其他方法可以做到这一点。在C中不能指定这样的字符串,但可以使用: (别忘了在程序顶部附近的某个地方加入。在C中不能指定这样的字符串,但可以使用
char array[STRING_ELEMENTS + 1][MAX_STRING_LENGTH + 1];
/*just for the first element*/
array[0] == ("this number: %d, and that number: %d\n", a, b);
可能让我看起来很恶心。不过,我不知道还有什么其他方法可以做到这一点。在C中不能指定这样的字符串,但可以使用:
(别忘了在程序顶部附近的某个地方加入。在C中不能指定这样的字符串,但可以使用:
(别忘了在程序顶部附近的某个地方加入
。你的意思是必须使用最大字符串长度的问题吗?你的标题很混乱。@ameyCU抱歉,我对这个很陌生。你建议我把它命名为什么?@Superlokkus我不明白?@Laefica问题是:如果你的字符串因为变量而超过了最大字符串长度,snprintf
,你必须使用它来实现安全程序,将截断您的字符串。您的意思是您必须使用最大字符串长度的问题吗?您的标题令人困惑。@ameyCU抱歉,我对这个很陌生。你建议我把它命名为什么?@Superlokkus我不明白?@Laefica问题是:如果你的字符串因为变量而超过了最大字符串长度,snprintf
,你必须使用它作为一个安全的程序,它会截断你的字符串。而\include
(对于snprintf(3)
函数)此外,还包括
(对于snprintf(3)
函数)。
snprintf(array[0], MAX_STRING_LENGTH, "this number: %d, and that number: %d\n", a, b);