版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C string CString 詳解 一轉(zhuǎn)的,覺得很經(jīng)典!C+string詳解轉(zhuǎn):前言:string的角色1 string使用1.1充分使用string操作符1.2眼花繚亂的string find函數(shù)1.3 string insert,replace,erase 2string和C風(fēng)格字符串3 string和Charactor Traits 4string建議5小結(jié)6附錄前言:string的角色C+語言是個(gè)十分優(yōu)秀的語言,但優(yōu)秀并不表示完美。還是有許多人不愿意使用C或者C+,為什么?原因眾多,其中之一就是C/C+的文本處理功能太麻煩,用起來很不方便。以前沒有接觸過其他語言時(shí),每當(dāng)別人這么說,
2、我總是不屑一顧,認(rèn)為他們根本就沒有領(lǐng)會(huì)C+的精華,或者不太懂C+,現(xiàn)在我接觸perl,php,和Shell腳本以后,開始理解了以前為什么有人說C+文本處理不方便了。舉例來說,如果文本格式是:用戶名電話號(hào)碼,文件名name.txt Tom 23245332 Jenny 22231231 Heny 22183942 Tom 23245332.現(xiàn)在我們需要對(duì)用戶名排序,且只輸出不同的姓名。那么在shell編程中,可以這樣用:awkprintname.txt|sort|uniq簡(jiǎn)單吧?如果使用C/C+就麻煩了,他需要做以下工作:先打開文件,檢測(cè)文件是否打開,如果失敗,則退出。聲明一個(gè)足夠大得二維字符數(shù)
3、組或者一個(gè)字符指針數(shù)組讀入一行到字符空間然后分析一行的結(jié)構(gòu),找到空格,存入字符數(shù)組中。關(guān)閉文件寫一個(gè)排序函數(shù),或者使用寫一個(gè)比較函數(shù),使用qsort排序遍歷數(shù)組,比較是否有相同的,如果有,則要?jiǎng)h除,copy.輸出信息你可以用C+或者C語言去實(shí)現(xiàn)這個(gè)流程。如果一個(gè)人的主要工作就是處理這種類似的文本(例如做apache的日志統(tǒng)計(jì)和分析),你說他會(huì)喜歡C/C+么?當(dāng)然,有了STL,這些處理會(huì)得到很大的簡(jiǎn)化。我們可以使用fstream來代替麻煩的fopen fread fclose,用vector來代替數(shù)組。最重要的是用string來代替char*數(shù)組,使用sort排序算法來排序,用unique函數(shù)來
4、去重。聽起來好像很不錯(cuò)。看看下面代碼(例程1):#i nclude string#i nclude iostream#i nclude algorithm#i nclude vector#i nclude fstream using namespace std;int main()ifstream in(name.txt);string strtmp;vector string vect;while(getline(in,strtmp,n)vect.push_back(strtmp.substr(0,strtmp.find();sort(vect.begin(),vect.end();vect
5、or string:iterator it=unique(vect.begin(),vect.end();copy(vect.begin(),it,ostream_iterator string(cout,n);return 0;也還不錯(cuò)吧,至少會(huì)比想象得要簡(jiǎn)單得多!(代碼里面沒有對(duì)錯(cuò)誤進(jìn)行處理,只是為了說明問題,不要效仿).當(dāng)然,在這個(gè)文本格式中,不用vector而使用map會(huì)更有擴(kuò)充性,例如,還可通過人名找電話號(hào)碼等等,但是使用了map就不那么好用sort了。你可以用map試一試。這里string的作用不只是可以存儲(chǔ)字符串,還可以提供字符串的比較,查找等。在sort和unique函數(shù)中就默
6、認(rèn)使用了less和equal_to函數(shù),上面的一段代碼,其實(shí)使用了string的以下功能:存儲(chǔ)功能,在getline()函數(shù)中查找功能,在find()函數(shù)中子串功能,在substr()函數(shù)中string operator,默認(rèn)在sort()函數(shù)中調(diào)用string operator=,默認(rèn)在unique()函數(shù)中調(diào)用總之,有了string后,C+的字符文本處理功能總算得到了一定補(bǔ)充,加上配合STL其他容器使用,其在文本處理上的功能已經(jīng)與perl,shell,php的距離縮小很多了。因此掌握string會(huì)讓你的工作事半功倍。1 string使用其實(shí),string并不是一個(gè)單獨(dú)的容器,只是basic
7、_string模板類的一個(gè)typedef而已,相對(duì)應(yīng)的還有wstring,你在string頭文件中你會(huì)發(fā)現(xiàn)下面的代碼:externC+typedef basic_string char string;typedef basic_string wchar_t wstring;/externC+由于只是解釋string的用法,如果沒有特殊的說明,本文并不區(qū)分string和basic_string的區(qū)別。string其實(shí)相當(dāng)于一個(gè)保存字符的序列容器,因此除了有字符串的一些常用操作以外,還有包含了所有的序列容器的操作。字符串的常用操作包括:增加、刪除、修改、查找比較、鏈接、輸入、輸出等。詳細(xì)函數(shù)列表參
8、看附錄。不要害怕這么多函數(shù),其實(shí)有許多是序列容器帶有的,平時(shí)不一定用的上。如果你要想了解所有函數(shù)的詳細(xì)用法,你需要查看basic_string,或者下載STL編程手冊(cè)。這里通過實(shí)例介紹一些常用函數(shù)。1.1充分使用string操作符string重載了許多操作符,包括+,+=,=,等,正式這些操作符,對(duì)字符串操作非常方便。先看看下面這個(gè)例子:tt.cpp(例程2)#i nclude string#i nclude iostream using namespace std;int main()string strinfo=Please input your name:;cout strinfo;ci
9、n strinfo;if(strinfo=winter)coutyou are winter!endl;else if(strinfo!=wende)coutyou are not wende!endl;else if(strinfowinter)coutyour name should be ahead of winterendl;else coutyour name should be after of winterendl;strinfo+=,Welcome to China?。籧out strinfo endl;coutYour name is:endl;string strtmp=H
10、ow are you?+strinfo;for(int i=0;i strtmp.size();i+)cout strtmpi;return 0;下面是程序的輸出-bash-2.05b$make tt c+-O-pipe-march=pentiumpro tt.cpp-o tt-bash-2.05b$./tt Please input your name:Hero you are not wende!Hero,Welcome to China!How are you?Hero,Welcome to China!有了這些操作符,在STL中仿函數(shù)都可以直接使用string作為參數(shù),例如less,g
11、reat,equal_to等,因此在把string作為參數(shù)傳遞的時(shí)候,它的使用和int或者float等已經(jīng)沒有什么區(qū)別了。例如,你可以使用:map string,int mymap;/以上默認(rèn)使用了less string有了operator+以后,你可以直接連加,例如:string strinfo=Winter;string strlast=Hello+strinfo+??;/你還可以這樣:string strtest=Hello+strinfo+Welcome+to China+??;看見其中的特點(diǎn)了嗎?只要你的等式里面有一個(gè)string對(duì)象,你就可以一直連續(xù)+,但有一點(diǎn)需要保證的是,在開始的兩
12、項(xiàng)中,必須有一項(xiàng)是string對(duì)象。其原理很簡(jiǎn)單:系統(tǒng)遇到+號(hào),發(fā)現(xiàn)有一項(xiàng)是string對(duì)象。系統(tǒng)把另一項(xiàng)轉(zhuǎn)化為一個(gè)臨時(shí)string對(duì)象。執(zhí)行operator+操作,返回新的臨時(shí)string對(duì)象。如果又發(fā)現(xiàn)+號(hào),繼續(xù)第一步操作。由于這個(gè)等式是由左到右開始檢測(cè)執(zhí)行,如果開始兩項(xiàng)都是const char*,程序自己并沒有定義兩個(gè)const char*的加法,編譯的時(shí)候肯定就有問題了。有了操作符以后,assign(),append(),compare(),at()等函數(shù),除非有一些特殊的需求時(shí),一般是用不上。當(dāng)然at()函數(shù)還有一個(gè)功能,那就是檢查下標(biāo)是否合法,如果是使用:string str=wi
13、nter;/下面一行有可能會(huì)引起程序中斷錯(cuò)誤str100=??;/下面會(huì)拋出異常:throws:out_of_range cout str.at(100)endl;了解了嗎?如果你希望效率高,還是使用來訪問,如果你希望穩(wěn)定性好,最好使用at()來訪問。1.2眼花繚亂的string find函數(shù)由于查找是使用最為頻繁的功能之一,string提供了非常豐富的查找函數(shù)。其列表如下:函數(shù)名描述find查找rfind反向查找find_first_of查找包含子串中的任何字符,返回第一個(gè)位置find_first_not_of查找不包含子串中的任何字符,返回第一個(gè)位置find_last_of查找包含子串中的任
14、何字符,返回最后一個(gè)位置find_last_not_of查找不包含子串中的任何字符,返回最后一個(gè)位置以上函數(shù)都是被重載了4次,以下是以find_first_of函數(shù)為例說明他們的參數(shù),其他函數(shù)和其參數(shù)一樣,也就是說總共有24個(gè)函數(shù):size_type find_first_of(const basic_string&s,size_type pos=0)size_type find_first_of(const charT*s,size_type pos,size_type n)size_type find_first_of(const charT*s,size_type pos=0)size_
15、type find_first_of(charT c,size_type pos=0)所有的查找函數(shù)都返回一個(gè)size_type類型,這個(gè)返回值一般都是所找到字符串的位置,如果沒有找到,則返回string:npos。有一點(diǎn)需要特別注意,所有和string:npos的比較一定要用string:size_type來使用,不要直接使用int或者unsigned int等類型。其實(shí)string:npos表示的是-1,看看頭文件:template class _CharT,class _Traits,class _Alloc const basic_string _CharT,_Traits,_Allo
16、c:size_type basic_string _CharT,_Traits,_Alloc:npos=basic_string _CharT,_Traits,_Alloc:size_type)-1;find和rfind都還比較容易理解,一個(gè)是正向匹配,一個(gè)是逆向匹配,后面的參數(shù)pos都是用來指定起始查找位置。對(duì)于find_first_of和find_last_of就不是那么好理解。find_first_of是給定一個(gè)要查找的字符集,找到這個(gè)字符集中任何一個(gè)字符所在字符串中第一個(gè)位置?;蛟S看一個(gè)例子更容易明白。有這樣一個(gè)需求:過濾一行開頭和結(jié)尾的所有非英文字符??纯从胹tring如何實(shí)現(xiàn):#i
17、 nclude string#i nclude iostream using namespace std;int main()string strinfo=/*-Hello Word!.-;string strset=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz;int first=strinfo.find_first_of(strset);if(first=string:npos)coutnot find any charactersendl;return-1;int last=strinfo.find_last_of(strset
18、);if(last=string:npos)coutnot find any charactersendl;return-1;cout strinfo.substr(first,last-first+1)endl;return 0;這里把所有的英文字母大小寫作為了需要查找的字符集,先查找第一個(gè)英文字母的位置,然后查找最后一個(gè)英文字母的位置,然后用substr來的到中間的一部分,用于輸出結(jié)果。下面就是其結(jié)果:Hello Word前面的符號(hào)和后面的符號(hào)都沒有了。像這種用法可以用來查找分隔符,從而把一個(gè)連續(xù)的字符串分割成為幾部分,達(dá)到shell命令中的awk的用法。特別是當(dāng)分隔符有多個(gè)的時(shí)候,可以一
19、次指定。例如有這樣的需求:張三|3456123,湖南李四,4564234|湖北王小二,4433253|北京.我們需要以|,為分隔符,同時(shí)又要過濾空格,把每行分成相應(yīng)的字段??梢宰鳛槟愕囊粋€(gè)家庭作業(yè)來試試,要求代碼簡(jiǎn)潔。1.3 string insert,replace,erase了解了string的操作符,查找函數(shù)和substr,其實(shí)就已經(jīng)了解了string的80%的操作了。insert函數(shù),replace函數(shù)和erase函數(shù)在使用起來相對(duì)簡(jiǎn)單。下面以一個(gè)例子來說明其應(yīng)用。string只是提供了按照位置和區(qū)間的replace函數(shù),而不能用一個(gè)string字串來替換指定string中的另一個(gè)字串
20、。這里寫一個(gè)函數(shù)來實(shí)現(xiàn)這個(gè)功能:void string_replace(string&strBig,const string&strsrc,const string&strdst)string:size_type pos=0;string:size_type srclen=strsrc.size();string:size_type dstlen=strdst.size();while(pos=strBig.find(strsrc,pos)!=string:npos)strBig.replace(pos,srclen,strdst);pos+=dstlen;看看如何調(diào)用:#i nclude s
21、tring#i nclude iostream using namespace std;int main()string strinfo=This is Winter,Winter is aprogrammer.Do you know Winter?;coutOrign string is:nstrinfo endl;string_replace(strinfo,Winter,wende);coutAfter replace Winter with wende,the string is:nstrinfo endl;return 0;其輸出結(jié)果:Orign string is:This is
22、Winter,Winter is aprogrammer.Do you know Winter?After replace Winter with wende,the string is:This is wende,wende is aprogrammer.Do you know wende?如果不用replace函數(shù),則可以使用erase和insert來替換,也能實(shí)現(xiàn)string_replace函數(shù)的功能:void string_replace(string&strBig,const string&strsrc,const string&strdst)string:size_type pos
23、=0;string:size_type srclen=strsrc.size();string:size_type dstlen=strdst.size();while(pos=strBig.find(strsrc,pos)!=string:npos)strBig.erase(pos,srclen);strBig.insert(pos,strdst);pos+=dstlen;當(dāng)然,這種方法沒有使用replace來得直接。2 string和C風(fēng)格字符串現(xiàn)在看了這么多例子,發(fā)現(xiàn)const char*可以和string直接轉(zhuǎn)換,例如我們?cè)谏厦娴睦又?,使用string_replace(strinfo
24、,Winter,wende);來代用void string_replace(string&strBig,const string&strsrc,const string&strdst)在C語言中只有char*和const char*,為了使用起來方便,string提供了三個(gè)函數(shù)滿足其要求:const charT*c_str()const const charT*data()const size_type copy(charT*buf,size_type n,size_type pos=0)const其中:c_str直接返回一個(gè)以message結(jié)尾的字符串。data直接以數(shù)組方式返回string
25、的內(nèi)容,其大小為size()的返回值,結(jié)尾并沒有message字符。copy把string的內(nèi)容拷貝到buf空間中。你或許會(huì)問,c_str()的功能包含data(),那還需要data()函數(shù)干什么?看看源碼:const charT*c_str()constif(length()=0)return;terminate();return data();原來c_str()的流程是:先調(diào)用terminate(),然后在返回data()。因此如果你對(duì)效率要求比較高,而且你的處理又不一定需要以message的方式結(jié)束,你最好選擇data()。但是對(duì)于一般的C函數(shù)中,需要以const char*為輸入?yún)?shù),
26、你就要使用c_str()函數(shù)。對(duì)于c_str()data()函數(shù),返回的數(shù)組都是由string本身擁有,千萬不可修改其內(nèi)容。其原因是許多string實(shí)現(xiàn)的時(shí)候采用了引用機(jī)制,也就是說,有可能幾個(gè)string使用同一個(gè)字符存儲(chǔ)空間。而且你不能使用sizeof(string)來查看其大小。詳細(xì)的解釋和實(shí)現(xiàn)查看Effective STL的條款15:小心string實(shí)現(xiàn)的多樣性。另外在你的程序中,只在需要時(shí)才使用c_str()或者data()得到字符串,每調(diào)用一次,下次再使用就會(huì)失效,如:string strinfo(this is Winter);./最好的方式是:foo(strinfo.c_str
27、();/也可以這么用:const char*pstr=strinfo.c_str();foo(pstr);/不要再使用了pstr了,下面的操作已經(jīng)使pstr無效了。strinfo+=Hello??;foo(pstr);/錯(cuò)誤!會(huì)遇到什么錯(cuò)誤?當(dāng)你幸運(yùn)的時(shí)候pstr可能只是指向this is Winter Hello!的字符串,如果不幸運(yùn),就會(huì)導(dǎo)致程序出現(xiàn)其他問題,總會(huì)有一些不可遇見的錯(cuò)誤。總之不會(huì)是你預(yù)期的那個(gè)結(jié)果。3 string和Charactor Traits了解了string的用法,該詳細(xì)看看string的真相了。前面提到string只是basic_string的一個(gè)typedef??纯?/p>
28、basic_string的參數(shù):template class charT,class traits=char_traits charT,class Allocator=allocator charT class basic_string/.char_traits不僅是在basic_string中有用,在basic_istream和basic_ostream中也需要用到。就像Steve Donovan在過度使用C+模板中提到的,這些確實(shí)有些過頭了,要不是系統(tǒng)自己定義了相關(guān)的一些屬性,而且用了個(gè)typedef,否則還真不知道如何使用。但復(fù)雜總有復(fù)雜道理。有了char_traits,你可以定義自己的
29、字符串類型。當(dāng)然,有了char_traits char和char_traits wchar_t你的需求使用已經(jīng)足夠了,為了更好的理解string,咱們來看看char_traits都有哪些要求。如果你希望使用你自己定義的字符,你必須定義包含下列成員的結(jié)構(gòu):表達(dá)式描述char_type字符類型int_type int類型pos_type位置類型off_type表示位置之間距離的類型state_type表示狀態(tài)的類型assign(c1,c2)把字符c2賦值給c1 eq(c1,c2)判斷c1,c2是否相等lt(c1,c2)判斷c1是否小于c2 length(str)判斷str的長(zhǎng)度compare(s1
30、,s2,n)比較s1和s2的前n個(gè)字符copy(s1,s2,n)把s2的前n個(gè)字符拷貝到s1中move(s1,s2,n)把s2中的前n個(gè)字符移動(dòng)到s1中assign(s,n,c)把s中的前n個(gè)字符賦值為c find(s,n,c)在s的前n個(gè)字符內(nèi)查找c eof()返回end-of-(c)將c轉(zhuǎn)換成int_type to_char_type(i)將i轉(zhuǎn)換成char_type not_eof(i)判斷i是否為EOF eq_int_type(i1,i2)判斷i1和i2是否相等想看看實(shí)際的例子,你可以看看sgi STL的char_traits結(jié)構(gòu)源碼.現(xiàn)在默認(rèn)的string版本中,并不支持忽略大小寫的
31、比較函數(shù)和查找函數(shù),如果你想練練手,你可以試試改寫一個(gè)char_traits,然后生成一個(gè)case_string類,也可以在string上做繼承,然后派生一個(gè)新的類,例如:ext_string,提供一些常用的功能,例如:定義分隔符。給定分隔符,把string分為幾個(gè)字段。提供替換功能。例如,用winter,替換字符串中的wende大小寫處理。例如,忽略大小寫比較,轉(zhuǎn)換等整形轉(zhuǎn)換。例如把123字符串轉(zhuǎn)換為123數(shù)字。這些都是常用的功能,如果你有興趣可以試試。其實(shí)有人已經(jīng)實(shí)現(xiàn)了,看看Extended STL string。如果你想偷懶,下載一個(gè)頭文件就可以用,有了它確實(shí)方便了很多。要是有人能提供一
32、個(gè)支持正則表達(dá)式的string,我會(huì)非常樂意用。4 string建議使用string的方便性就不用再說了,這里要重點(diǎn)強(qiáng)調(diào)的是string的安全性。string并不是萬能的,如果你在一個(gè)大工程中需要頻繁處理字符串,而且有可能是多線程,那么你一定要慎重(當(dāng)然,在多線程下你使用任何STL容器都要慎重)。string的實(shí)現(xiàn)和效率并不一定是你想象的那樣,如果你對(duì)大量的字符串操作,而且特別關(guān)心其效率,那么你有兩個(gè)選擇,首先,你可以看看你使用的STL版本中string實(shí)現(xiàn)的源碼;另一選擇是你自己寫一個(gè)只提供你需要的功能的類。string的c_str()函數(shù)是用來得到C語言風(fēng)格的字符串,其返回的指針不能修改其
33、空間。而且在下一次使用時(shí)重新調(diào)用獲得新的指針。string的data()函數(shù)返回的字符串指針不會(huì)以message結(jié)束,千萬不可忽視。盡量去使用操作符,這樣可以讓程序更加易懂(特別是那些腳本程序員也可以看懂)5小結(jié)難怪有人說:string使用方便功能強(qiáng),我們一直用它!6附錄string函數(shù)列表函數(shù)名描述begin得到指向字符串開頭的Iterator end得到指向字符串結(jié)尾的Iterator rbegin得到指向反向字符串開頭的Iterator rend得到指向反向字符串結(jié)尾的Iterator size得到字符串的大小length和size函數(shù)功能相同max_size字符串可能的最大大小capa
34、city在不重新分配內(nèi)存的情況下,字符串可能的大小empty判斷是否為空operator取第幾個(gè)元素,相當(dāng)于數(shù)組c_str取得C風(fēng)格的const char*字符串data取得字符串內(nèi)容地址operator=賦值操作符reserve預(yù)留空間swap交換函數(shù)insert插入字符append追加字符push_back追加字符operator+=+=操作符erase刪除字符串clear清空字符容器中所有內(nèi)容resize重新分配空間assign和賦值操作符一樣replace替代copy字符串到空間find查找rfind反向查找find_first_of查找包含子串中的任何字符,返回第一個(gè)位置find_f
35、irst_not_of查找不包含子串中的任何字符,返回第一個(gè)位置find_last_of查找包含子串中的任何字符,返回最后一個(gè)位置find_last_not_of查找不包含子串中的任何字符,返回最后一個(gè)位置substr得到字串compare比較字符串operator+字符串鏈接operator=判斷是否相等operator!=判斷是否不等于operator判斷是否小于operator從輸入流中讀入字符串operator字符串寫入輸出流getline從輸入流中讀入一行CString,int,string,char*之間的轉(zhuǎn)換2007年01月06日星期六11:11 A.M.string轉(zhuǎn)CStri
36、ng CString.format(%s,string.c_str();char轉(zhuǎn)CString CString.format(%s,char*);char轉(zhuǎn)string string s(char*);string轉(zhuǎn)char*char*p=string.c_str();CString轉(zhuǎn)string string s(CString.GetBuffer();1,string-CString CString.format(%s,string.c_str();用c_str()確實(shí)比data()要好.2,char-string string s(char*);你的只能初始化,在不是初始化的地方最好還是用assign().3,CString-str
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026山東省青島市城陽區(qū)教育系統(tǒng)招聘高層次緊缺急需人才180人備考題庫及參考答案詳解1套
- 2025廣東省低空經(jīng)濟(jì)產(chǎn)業(yè)發(fā)展有限公司招聘13人備考題庫及答案詳解1套
- 臺(tái)州臺(tái)州市僑聯(lián)招聘編制外工作人員筆試歷年參考題庫附帶答案詳解
- 北京2025年國(guó)家地質(zhì)實(shí)驗(yàn)測(cè)試中心招聘工作人員筆試歷年參考題庫附帶答案詳解
- 北京2025年北京市統(tǒng)計(jì)局事業(yè)單位招聘3人筆試歷年參考題庫附帶答案詳解
- 蘭州2025年蘭州市春季引進(jìn)1199名高層次人才和急需緊缺專業(yè)技術(shù)人才筆試歷年參考題庫附帶答案詳解
- 2026河北唐山蘭海楠天高級(jí)中學(xué)招聘教師16人備考題庫及答案詳解(奪冠系列)
- 中央2025年中國(guó)知識(shí)產(chǎn)權(quán)研究會(huì)招聘筆試歷年參考題庫附帶答案詳解
- 上海上海市衛(wèi)生健康統(tǒng)計(jì)中心工作人員2025年招聘2人筆試歷年參考題庫附帶答案詳解
- 上海上海商業(yè)會(huì)計(jì)學(xué)校2025下半年工作人員招聘3人筆試歷年參考題庫附帶答案詳解
- 預(yù)防老年人失能
- 百色市2024-2025學(xué)年高二上學(xué)期期末考試英語試題(含答案詳解)
- 福建省龍巖市連城一中2025屆高考英語五模試卷含解析
- 耳聾護(hù)理學(xué)習(xí)
- 幼兒園入學(xué)準(zhǔn)備指導(dǎo)要點(diǎn)試題
- 《機(jī)械常識(shí)(第2版)》中職技工全套教學(xué)課件
- 小島經(jīng)濟(jì)學(xué)(中文版)
- 礦卡司機(jī)安全教育考試卷(帶答案)
- 設(shè)備預(yù)防性維修維護(hù)培訓(xùn)課件
- 現(xiàn)代試井解釋基礎(chǔ)
- 酒店賓館食堂早餐券飯票模板
評(píng)論
0/150
提交評(píng)論