1. 程式人生 > >C++中memset函式的用法

C++中memset函式的用法

//複習陣列的時候,第一次見到了memset,學之。

memsetchar型初始化函式

標頭檔案:<string.h> <memory.h>

函式原型:void *memset(void *s , int ch , size_t  n )

memset(結構體/陣列名 , 用於替換的ASCII碼對應字元 , n個字元 );

memset(結構體/陣列名 , "用於替換的字元“ , n個字元 );

函式解釋:將s中的前n個位元組用ch替換並且返回s

函式作用:在一段記憶體塊中填充某一個給定的值,常用於較大的對結構體和陣列的清零操作。

例項:

1.

#include<iostream>

//#include"string.h"using namespace std;int main(){    char str[10];    str[9] = 'w';    memset(str,97,9);    for(int i=0;i<10;i++){        cout<<str[i]<<" ";    }    return 0;輸出:a a a a a a a a a w

說明:使用memset似乎不需要使用額外的標頭檔案。

2.

#include<iostream>//#include"string.h"using namespace std;

int main(){    char str[10];    str[9] = 'w';    memset(str,97,sizeof(char)*10);    for(int i=0;i<10;i++){        cout<<str[i]<<" ";    }    return 0;輸出:a a a a a a a a a a

3.

#include<iostream>using namespace std;int main(){    char str[10];    memset(str,65,sizeof(str)-3);    for(int i=0;i<10;i++){

        cout<<str[i]<<" ";    }     return 0;}

輸出:A A A A A A A 

相關推薦

C++memset函式用法

//複習陣列的時候,第一次見到了memset,學之。 memset:char型初始化函式 標頭檔案:<string.h> 或 <memory.h> 函式原型:void *memset(void *s , int ch , size_t  n ) m

透徹分析C/C++memset函式(轉載只為查閱方便,若有侵權立刪)

透徹分析C/C++中memset函式       在C語言中,經常需要對記憶體進行操作,裡面涉及很多函式,但是memset函式的使用有一點需要大家格外注意,這也是我在做專案時遇到過的一個問題,除錯了很久才找出來錯誤。     &nbs

C++sort函式用法

C++中sort函式用法 排序示例: 輸入兩個數n,t,其中n是待排的結構體個數,t=0代表用降序排序,t = 1表示用升序排序 例如這樣: 例示: jack 70 peter 96 Tom 70 smith 67 從高到低 成績 peter 96 jack 70

C++memset()函式

前段專案中發現一個問題,程式總是在某個dynamic_cast進行動態轉換時出異常,查了半天才發現問題原來是出在memset的使用上,雖然問題本身顯而易見,但當處於幾十萬行程式碼量級中時,就變得不太那麼容易定位了。 本文歸納了下使用memset幾個需要注意的地方,雖然內容很簡單,但也希望

透徹分析C/C++memset函式

在C語言中,經常需要對記憶體進行操作,裡面涉及很多函式,但是memset函式的使用有一點需要大家格外注意,這也是我在做專案時遇到過的一個問題,除錯了很久才找出來錯誤。 函式原型是:void *memset(void *s, int ch, size_t n);    函式功

C++memset函式

轉載自  http://blog.sina.com.cn/s/blog_6f611c300101e59l.htmlvoid * memset (void * S, int value, size_t num);函式作用:將ptr所指向的某一塊記憶體中的每個位元組的內容全部設定

c++replace函式用法總結

一、用法一 string& replace (size_t pos, size_t len, const string& str) 用str 替換指定字串從起始位置pos開始長度為le

C++substr()函式用法

1234   assign()函式: basic_string &assign( const basic_string &str ); basic_string &assign( const char *str ); basic_string &assign( const c

C++find函式用法

C++中STL裡提供了許多字串操作的函式,下面是字串查詢方面的部分函式用法簡介: 1.find() 查詢第一次出現的目標字串: #include<iostream> #include<

C++sort()函式用法

做專案的時候,排序是一種經常要用到的操作。如果每次都自己寫個冒泡之類的O(n^2)排序,不但程式容易超時,而且浪費寶貴的時間,還很有可能寫錯。STL裡面有個sort函式,可以直接對陣列排序,複雜度為n*log2(n)。 sort是STL中提供的演算法,標頭檔案為#inclu

C scanf ( ) 函式用法 用法

我覺得,在輸入輸出函式中,scanf()函式,應該是最麻煩的,有時它給我們的結果很可笑,但是一定是一原因的.... 首先宣告一下,這篇日誌不是介紹scanf()中各種格式符用法的文章(沒有這個必要,但是大家一定要會用). 我嘗試了很多種輸入,包括一些錯誤的練習,曾經對

C++memset()用法

memset()函式原型是extern void *memset(void *buffer, int c, int count) buffer:為指標或是陣列 c:是賦給buffer的值 count:是buffer的長度 1. memset是以位元組為單位,初始化記憶體塊。 當初

深入理解CPP與Cbsearch函式用法

·使用besearch函式的前提(一些廢話) 首先讓我們先亮出二分法的定義: https://baike.baidu.com/item/二分法/1364267 以及二分法實現的方法: https://blog.csdn.net/sufeiboy/article/details/54401257 這些

c++sort()函式用法簡介

程式碼: #include<iostream> #include<vector> #include<string> #include<algorithm> using namespace std; int main() {

C++Main函式引數argc,argv用法

int main(int argc, char** argv)argc為傳入引數個數,argv是具體的引數。我知道的兩種使用方法:1.在命令列中使用,如傳入"test.exe f:\a.txt f:\b.txt",那麼:argc=3;argv[0] = test.exe (

C++仿函式/函式物件,函式指標的用法

研究這個起因是這樣的,就是今天在用priority_queue的時候,需要自定義比較函式,但是此時又不能修改需要比較的類的內容(即不能用過載<的方法),所以只能寫在外面,但是發現這樣並不能編譯通過。報的錯叫cmp(我寫的那個比較函式)不是型別名。後來

最實用的的c++string函式用法,沒有之一。

純屬原創,                                                              String函式的用法                                                          

C++pair的用法以及函式的多個返回值的用法

注意:文章為轉載多人的部落格,我只是綜合一下。pair的型別:    pair 是 一種模版型別。每個pair 可以儲存兩個值。這兩種值無限制。也可以將自己寫的struct的物件放進去。。    pair<string,int> p;    pair<int

C++的const用法【02】----函式的引數和返回值

如果按值傳遞物件,它意味著傳遞的引數在函式中是不能被修改的。 如果按常量返回使用者定義型別的物件的值,這意味著返回值不能被修改。 如果傳遞引數並返回地址,const 將保證改地址不會被改變。 1.傳遞const  值 如果引數是按值傳遞,那麼可用const 修飾指定引數。

C/C++隨機函式rand/srand 的用法

轉自:http://blog.csdn.net/woxueliuyun/article/details/2132543 一、C++中不能使用random()函式      random函式不是ANSI C標準,不能在gcc,vc等編譯器下編譯通過。但在C語言中int ran