C 從string類中讀取數字 字元的庫函式

2021-05-04 01:10:05 字數 4271 閱讀 4210

1樓:匿名使用者

你可以從string字串得到c風格字串,再用sscanf處理或者用string構造個string流, 按cin使用#include

#include

#include

using namespace std;

int main()

2樓:匿名使用者

沒有long和string互相轉換的,但是有long(還有int,double,float等)和char*互相轉化的函式,sprintf函式和sscanf函式。因此可以用char*作為中間型別

long轉換為string的一個解決方案:

可以先用sprintf函式把long轉換為char*,然後char*直接可以賦給string。

string轉換為long的一個解決方案

先用string的成員函式c_str()轉化為char*,再用sscanf函式將char*轉為long。

sscanf和sprintf是c函式,標頭檔案stdio.h,用法和scanf、printf相似

3樓:匿名使用者

string有成員函式的,直接用》的話要把它轉成stream

4樓:匿名使用者

用sprintf,sscanf

c++中 怎麼從string類變數中讀取一個字元

5樓:匿名使用者

有兩種方式

string str = "asdf";

一是str[i],

二是str.at(i);

i都是0-base,即i=0,時,結果是a,i=1,結果s

6樓:匿名使用者

直接用索引,類似於陣列,比如:

string a = "hello";

a[0];//表示'h'

7樓:鄢畫象星漢

尋找一個字串中是否包含一串已經輸入的字元,如果不區分大小寫怎麼辦?

使用strstr函式。但strstr找得到的話返回找到的位置,找不到的話返回null87

c++語言中怎麼從「string」類變數中讀取一個字元?

8樓:水溥心

有兩種方式

string str = "asdf";

一是str[i],

二是str.at(i);

i都是0-base,即i=0,時,結果是a,i=1,結果s

c++中怎樣將一個檔案的內容讀取到string型別的字串中。謝謝!

9樓:匿名使用者

fstream fs( "file.txt" ) ; // 建立個檔案流物件,並開啟"file.txt"

stringstream ss ; // 建立字串流物件

ss << fs.rdbuf() ; // 把檔案流中的字元輸入到字串流中

string str = ss.str() ; // 獲取流中的字串

10樓:匿名使用者

用檔案流 需要標頭檔案cstdio

freopen("a.in","r",stdin);

freopen(a.out","w",stdout);

string i;

getline(cin,i,'\n');

cout<

fclose(stdin);

fclose(stdout);

11樓:金色潛鳥

先將檔案全部讀入 char* 變數。再用 string 類 構建函式建一個string 物件,在把 char* 內容放入。

下面是將檔案全部讀入char * buffer;

/* fread example: read an entire file */

#include

#include

int main ()

// obtain file size:

fseek (pfile , 0 , seek_end);

lsize = ftell (pfile);

rewind (pfile);

// allocate memory to contain the whole file:

buffer = (char*) malloc (sizeof(char)*lsize);

if (buffer == null)

// copy the file into the buffer:

result = fread (buffer,1,lsize,pfile);

if (result != lsize)

/* the whole file is now loaded in the memory buffer. */

// terminate

fclose (pfile);

free (buffer);

return 0;

}構建函式建一個string 物件,把 char * buffer 內容存入 程式部分,請自己補充:

#include

#include

#include

using namespace std;

#include

// 插入上面程式 .....

// 補充

string sss;

sss.assign(buffer,result);

cout << sss << endl;

c++如何判斷string 型別裡面為純數字

12樓:

||bool isdigit2(string str) }return true;

} int main()

system("pause");

return 0;}

13樓:心_一_泉

不用ascll碼了,直接拿字元與'0'和'9'比較,例如: a>'0'&& a<'9',a為一個字元。

14樓:匿名使用者

比較字串每一個ascii碼,在'0'和'9'區間上的話就是數字,具體如下:

********************===

#include

#include

#define isdigital(x) (((x)>='0') && ((x) <= '9'))

using std::string;

int main(void)

*****==

isdigtal巨集是用來判斷一個字元是不是數字的(通過比較ascii碼)

主程式中通過一個迴圈,測試每一個字元是不是數字,當且僅當所有分量全為數字時,該迴圈是flag返回真,最後根據其值判斷即是

15樓:

根據ascii字元表,我是忘記了,每一個字元都是有值的,你看看0-9的值是多少,輸入的每一個字元檢查是不是在這個範圍,在就是數字,不在就不是數字然後報錯。

c++中如何將一串數字string類轉換成整型,

16樓:

你可以先呼叫string的c_str(),函式,該函式一個指向正規c字串的指標, 內容與本字串相同,然後呼叫atoi()函式就可以了啊,下面是一個簡單的測試程式:

#include

using namespace std;

int main().

17樓:小傻

c++中可以使用庫函式atoi:

一、函式名:atoi

二、函式宣告:

int atoi(const char *nptr);

三、標頭檔案:

c語言中用stdio.h。

c++中用cstdio。

四、功能:

將字串nptr中的字元轉成數字並返回。具體過程為:

引數nptr字串,如果第一個非空格字元存在,是數字或者正負號則開始做型別轉換,之後檢測到非數字(包括結束符 \0) 字元時停止轉換,返回整型數。否則,返回零。

五、引數:

nptr, 要轉換的字串。如果為null會出錯。

六、返回值:

轉換後的整型數值。

七、示例**:

#include

#include

using namespace std;

int main()

關於C中的String類

1.只能p null不能 p null否則你是給一個char賦值null 2.上面不對 應該是小寫 1.下面執行時為什麼會出錯!char p null string str p 按上面string類的普通建構函式,這裡應該允許傳null!你這裡的 string 是標準的 string,而不是上面的 ...

C中的string和String有什麼區別

string是c 中的類,string是.netframework的類 在c ide中不會顯示藍色 c string對映為.net framework的string 如果用string,編譯器會把它編譯成string,所以如果直接用string就可以讓編譯器少做一點點工作 如果使用c 建議使用str...

C 中如何讀取中的座標資料,C 中如何讀取txt文件中的座標資料?

include include inline bool check double const x int main int const arc,char const arg std ifstream file arg 1 if file int num double x,y,z int cnt 0 ...