當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ wmemset()用法及代碼示例


wmemset()函數是C /C++中的內置函數,它將指定的時間內的單個寬字符複製到寬字符數組中。它在C++中的cwchar頭文件中定義。

用法

wmemset(des, ch, count)

參數:該函數接受以下三個參數。


  • des:指定到寬字符數組以複製寬字符。
  • ch:指定要複製的寬字符。
  • count:指定要複製的次數。

返回值:該函數返回三個值,如下所示:

  • 如果計數大於0,則函數返回des。
  • 如果計數小於0,則可能會發生分段錯誤。
  • 如果count等於零,則該函數不執行任何操作。

以下示例程序旨在說明上述函數。
示例1:

// C++ program to illustrate the 
// wmemset() function when count is greater than 0 
#include <cwchar> 
#include <iostream> 
using namespace std; 
  
int main() 
{ 
    wchar_t ch = L'G'; 
    wchar_t des[20]; 
    int count = 10; 
  
    wmemset(des, ch, count); 
    wcout << L"After copying " << ch << L" 10 times" << endl; 
  
    for (int i = 0; i < count; i++) 
        putwchar(des[i]); 
  
    return 0; 
}
輸出:
After copying G 10 times
GGGGGGGGGG

示例2:

// C++ program to illustrate the 
// wmemset() function when count is 0 
#include <cwchar> 
#include <iostream> 
using namespace std; 
  
int main() 
{ 
    wchar_t ch = L'r'; 
    wchar_t des[20]; 
    int count = 0; 
  
    wmemset(des, ch, count); 
    wcout << L"After copying " << ch << L" 0 times" << endl; 
  
    for (int i = 0; i < count; i++) 
        putwchar(des[i]); 
  
    return 0; 
}
輸出:
After copying r 0 times
示例3:
// C++ program to illustrate the 
// wmemset() function when  
// count is less than 0 
// returns a segmentation fault  
#include <cwchar> 
#include <iostream> 
using namespace std; 
  
int main() 
{ 
    wchar_t ch = L'q'; 
    wchar_t des[20]; 
    int count = -4; 
  
    wmemset(des, ch, count); 
    wcout << L"After copying " << ch << L" -4 times" << endl; 
  
    for (int i = 0; i < count; i++) 
        putwchar(des[i]); 
  
    return 0; 
}

輸出:

Runtime Errors:
Segmentation Fault (SIGSEGV)


相關用法


注:本文由純淨天空篩選整理自RICHIK BHATTACHARJEE大神的英文原創作品 wmemset() in C/C++ with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。