strxfrm ()- 轉換字串

格式

#include <string.h>
size_t strxfrm(char *string1, const char *string2, size_t count);

語言層次

ANSI

安全執行緒

區分語言環境

此函數的行為可能受現行語言環境的 LC_CTYPE 及 LC_COLLATE 種類影響。 如需相關資訊,請參閱 瞭解 CCSID 及語言環境

說明

strxfrm() 函數會轉換 string2 所指向的字串,並將結果放入 string1所指向的字串中。 轉換由程式的現行語言環境決定。 轉換後的字串不一定可以讀取,但可以與 strcmp()strncmp() 函數搭配使用。

回覆值

strxfrm() 函數會傳回轉換後字串的長度,但不包括結尾空值字元。 如果回覆值大於或等於 count,則轉換後字串的內容不確定。

如果 strxfrm() 不成功,則會變更錯誤碼。 錯誤碼的值可以設為 EINVAL ( string1string2 引數包含在現行語言環境中無法使用的字元)。

範例

此範例會提示使用者輸入字串,然後使用 strxfrm() 來轉換字串並傳回其長度。
#include <stdio.h>
#include <string.h>
 
int main(void)
{
   char *string1, buffer[80];
   int length;
 
   printf("Type in a string of characters.\n ");
   string1 = gets(buffer);
   length = strxfrm(NULL, string1, 0);
   printf("You would need a %d element array to hold the string\n",length);
   printf("\n\n%s\n\n transformed according",string1);
   printf(" to this program's locale. \n");
}

相關資訊