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 ( string1 或 string2 引數包含在現行語言環境中無法使用的字元)。
範例
此範例會提示使用者輸入字串,然後使用
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");
}