用最長(zhǎng)的字符串長(zhǎng)度+1,再乘以你準(zhǔn)備要輸入多少個(gè)字符串的n值就可以了。如:char *p=(char *)malloc(100*81);就申請(qǐng)了能存儲(chǔ)100個(gè)長(zhǎng)度為80的字符串的空間。
創(chuàng)新互聯(lián)企業(yè)建站,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),專注于網(wǎng)站建設(shè)技術(shù),精于網(wǎng)頁(yè)設(shè)計(jì),有多年建站和網(wǎng)站代運(yùn)營(yíng)經(jīng)驗(yàn),設(shè)計(jì)師為客戶打造網(wǎng)絡(luò)企業(yè)風(fēng)格,提供周到的建站售前咨詢和貼心的售后服務(wù)。對(duì)于網(wǎng)站設(shè)計(jì)、網(wǎng)站制作中不同領(lǐng)域進(jìn)行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設(shè)中充分了解客戶行業(yè)的需求,以靈動(dòng)的思維在網(wǎng)頁(yè)中充分展現(xiàn),通過(guò)對(duì)客戶行業(yè)精準(zhǔn)市場(chǎng)調(diào)研,為客戶提供的解決方案。
首先動(dòng)態(tài)申請(qǐng)一塊內(nèi)存用于存放讀取的字符串,然后循環(huán)讀取文件的字符,并將字符放到申請(qǐng)的空間中,如果讀取的過(guò)程中字符數(shù)超過(guò)了申請(qǐng)的內(nèi)存大小就重新分配空間使空間擴(kuò)充,當(dāng)讀到換行符的時(shí)候就終止。
if(pszTemp){ memset(pszTemp, 0, nLen);strcpy(pszTemp, pszOld);strcat(pszTemp, pszCat);return pszTemp;} return NULL;} 使用這個(gè)函數(shù)就行了,記得用完要 delete 獲取到的字符串哦,否則會(huì)內(nèi)存泄露。
當(dāng)然錯(cuò)啦! 你要讀入字符串不需要循環(huán),一個(gè)字符指針就可以讀字符串了。
1、str[i] = string[i];i++;} str[i] = \0 // 添加字符串結(jié)束符號(hào) 在這個(gè)例子中,假設(shè)要遍歷的字符串為 string,并且將其存儲(chǔ)到了 str 數(shù)組中。
2、可以用sacnf或gets函數(shù)直接接收輸入的字符串,然后用循環(huán)遍歷字符串中每一個(gè)字符,判斷其是字母還是數(shù)字??梢杂醚h(huán)調(diào)用getch()或getchar()函數(shù)來(lái)一個(gè)一個(gè)字符的接收輸入,同時(shí)判讀輸入的是字母還是數(shù)字。
3、首先我們新建一個(gè)dev C++的項(xiàng)目。接下來(lái)在項(xiàng)目中新建C語(yǔ)言程序文件。然后在C語(yǔ)言文件中聲明一個(gè)字節(jié)數(shù)組。接下來(lái)我們通過(guò)printf函數(shù)提示用戶輸入字符串,通過(guò)scanf接收用戶輸入的字符串。
1、gets(st);puts(st);} 可以看出當(dāng)輸入的字符串中含有空格時(shí),輸出仍為全部字符串。說(shuō)明gets函數(shù)并不以空格作為字符串輸入結(jié)束的標(biāo)志,而只以回車作為輸入結(jié)束。這是與scanf函數(shù)不同的。2、c語(yǔ)言,gets()函數(shù)用來(lái)從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)讀取字符串直到換行符結(jié)束,但換行符會(huì)被丟棄,然后在末尾添加\0字符。其調(diào)用格式為:gets(s)。其中s為字符串變量(字符串?dāng)?shù)組名或字符串指針)。3、gets()函數(shù)從流中讀取字符串,直到出現(xiàn)換行符或讀到文件尾為止,最后加上NULL作為字符串結(jié)束。所讀取的字符串暫存在給定的參數(shù)string中?!痉祷刂怠咳舫晒t返回string的指針,否則返回NULL。