该函数nl_langinfo(INT_CURR_SYMBOL)
返回一个指向字符串常量的指针,其格式如下:
$(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)
, 还返回符号和符号,而只需要符号。"-£"
->"£"