nl_langinfo(INT_CURR_SYMBOL)
返回一个指向字符串常量,它是格式的功能:了nl_langinfo() - 太多的信息
$(THREE-LETTER-PSEUDOACRONYM) $(SIGN)$(SYMBOL)
所以在我的区域(en_GB.UTF-8
),这将是"GBP -£"
。我只想要前三个字母,除了将第三个元素分配为nul字符还是使用strncpy()
之外,还有另外一种方法可以做到这一点吗?
strcpy(int_curr_symbol, nl_langinfo(INT_CURR_SYMBOL)); // "GBP -£"
int_curr_symbol[3] = '\0';
// or
strncpy(int_curr_symbol, nl_langinfo(INT_CURR_SYMBOL), 3)); // "GBP"
此外,nl_langinfo(CRNCYSTR)
,也返回符号和符号,而在仅需要符号。 "-£"
- >"£"
谢谢,我意识到标志的重要性,但当时我对订单不感兴趣。作为最好的(也是唯一的)答案,您将获得接受的答案:) –