当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。