怎麼在c 中把字串轉成CTime型別

2022-07-18 10:22:34 字數 6361 閱讀 8738

1樓:匿名使用者

char cbuf[80]="2011-11-26 12:35:29";

int y,m,d,h,m,s;

ctime today;

today=ctime(y,m,d,h,m,s);

2樓:匿名使用者

cstring str = "2000-1-1 23:01:22" ;

coledatetime tm;

tm.parsedatetime(str);

systemtime st;

tm.getassystemtime(st);

ctime ct(st);

希望可以幫到你。

c++怎樣將字串轉換成字元陣列型別

3樓:匿名使用者

string a("1234");

//假設f的引數為const char*

f(a.c_str());

//假設g的引數為char*

char *b = new char[a.size()+1];//注意最後有一個'\0'

strcpy(b, a.c_str);

g(b);

delete b;

a.c_str(),少了一個括號。

4樓:97樂於助人

如果你想把一個字串變成陣列,你只需要將字串初始化為陣列變數的值即可。

例如:char c[10]=「this is !";

5樓:九以柳

不用你轉換

在string類中中,他就實現了這個功能。

比如:string str="abcdefg";

str[3]就為字串中的d(第四個字元)

6樓:allen穆迪埃

#include

#include

using namespace std;

int main(const char* p)or:char a[10];

string str="hello";

for(int i=0;i<10;i++)a[i]=str.c_str()[i];

或者用字串常量

const char *a;

string str="hello";

a=str.c_str();

7樓:匿名使用者

char p[1000];

scanf("%s",p);

如何記憶 c/c++ 中各類字串型別之間的轉換

8樓:

懶惰的程式猿怎麼能夠去記這麼多東西呢!最好的辦法,就是用最少的記憶!最好是跟標準的輸入輸出一樣的方式,只需要稍微的做一點改動就好!

如果你熟悉printf和scanf,那你可以稍微的,學學sprintf和sscanf,它們的引數跟printf/scanf只多了第一個引數,傳入一個char陣列。

char str[128];

int i = 12345;

printf("%d", i); //輸出一個整數到標準輸出流

sprintf(str, "%d", i); //輸出一個整數到字串str

scanf("%d", &i); //從標準輸入流讀取一個整數到i

sscanf("54321", "%d", &i); //從字串"54321"讀取一個整數到i

其他型別同理。

如果你熟悉cout和cin,那你可以稍微的學學stringstream,它們用起來跟cin和cout幾乎一毛一樣!

//需要 #include

string str;

int i = 12345;

cout<>i; //從標準輸入流讀取一個整數到i

istringstream strin("54321"); //定義一個字串輸入流

strin>>i; //從字串輸入流讀取一個整數到i

其他型別同理。

當然,作為懶惰的程式猿,如果學會了模板,我們還可以更懶!因為我們可以把它們封裝成一個標頭檔案,以後用它就好了,而且,**少之又少!

// strutils.h

#ifndef str_utils_h

#define str_utils_h

#include

#include

using namespace std;

/*把一個變數轉為字串,適用於能夠直接cout輸出的型別!

用法舉例:

string strint = tostring(123);

string strdouble = tostring(123.4);

*/template

string tostring(t t)

/*字串轉變數,適用於可以用cin輸入的型別!

用法舉例:

int i;

fromstring("123", i);

double d;

fromstring("123.4", d);

*/template

void fromstring(const string& str, t& t)

/*字串轉變數的另一種形式,適用於可以用cin輸入的型別!

用法舉例:

int i = fromstring("123");

double d = fromstring("123.4");

*/template

t fromstring(const string& str)

#endif

以上。sprintf/sscanf是c/c++通用的,**少,效率也不低,如果能記住printf/scanf的引數的話,sprintf/sscanf是很容易學會的(不,其實基本上不用學吧)。

stringstream是c++特有的。**看起來稍微多一些,而且每次轉換都需要建立一個stringstream物件。優點是跟cin/cout一樣,可以接受多種型別的變數,用模板一封裝,用起來可讀性好,而且實現起來**也不多!

缺點就是每次都建立stringstream物件,而且tostring還需要按值返回,部分編譯器可能造成複製導致效率更低。綜合考慮效率可能比sprintf/sscanf稍微低一些。

---我是分割線---

話說我對效率的分析就是閉著眼睛拍腦袋說的,並沒有資料支撐,也許sprintf/sscanf解析引數%d %f啥的,執行效率可能也不如作為模板類的stringstream。總之,挑一個你覺得學起來容易並且不容易忘記的吧!

9樓:匿名使用者

有什麼轉換的要求嗎,,,,~~~

c++ 怎麼將字串轉化成double型別

10樓:風若遠去何人留

一、先首說明一點,由於double屬於浮點型別,有精度限制,所以將字串轉為double型別,得到的數值可能為近似值。

二、程式思路:

1 首先假設字串是合法的資料,即其中僅包含符號(+/-), 數字(0-9),和小數點。

如果包含符號,僅有一位,且位於第一位。

如果包含小數點,那麼只能有一個。可以沒有。

2 從起始位置開始檢查,以小數點為分隔,整數部分和小數部分分別轉換。

三、參考**

double str2double(char *src)if(*p == '.')//存在小數的情況}return ret*sign; //不要忘記符號位}

11樓:匿名使用者

#include

#include

#include

#include

using namespace std;

void main()

12樓:匿名使用者

這裡printf中型別不對,改成:

printf("%lf\n",b);就可以了。

13樓:匿名使用者

printf("%lf\n",b);//不是%d

c語言 怎麼把字串轉換成日期形式 比如 char str = 「2010-12-01; 我想把它轉換成日期的形式 40

14樓:書蟲找書

應該有一個引用系統當前時間的函式time是一個struct 然後int day-10就行啦

15樓:豆豆愛上天使

除錯過了的,能夠實現你的要求~~

#include"stdio.h"

#include"ctype.h"

char_to_int(char a) //將字元數字換為整形數字int comput(char p,int n) //將字串數字轉換為對應位數的數值

a=comput(year,4);

b=comput(month,2);

c=comput(day,2);

if(c<10)

else

c=c-10;

printf("%d-%d-%d\n",a,b,c);}

c++中如何將一個字串轉化成陣列

16樓:小懂的賬號

c++中將一個字串轉化成陣列方法如下:

擴充套件資料

c++語言基本型別

1、整型

整數常量

整數常量是不帶小數的數值,用來表示正負數。例2—2中ox55、0x55ff、1000000都是c++語言的整數常量。

c++語言的整數常量有三種形式:十進位制、八進位制、十六迸制。

(1)十進位制整數是由不以0開頭的0~9的數字組成的資料。

(2)八進位制整數是由以0開頭的0~7的數字組成的資料。

(3)十六進位制整數是由以0x或0x開頭的0~9的數字及a~f的字母(大小寫字母均可)組成的資料。

整型變數型別

整型變數型別有byte,short,int,long四種說明符,它們都是有符號整型變數型別。

(1)byte型別。

byte型別說明一個帶符號的8位整型變數。由於不同的機器對多位元組資料的儲存方式不同,可能是從低位元組向高位元組儲存,也可能是從高位元組向低位元組儲存。這樣,在分析網路協議或檔案格式時,為了解決不同機器上的位元組儲存順序問題,用byte型別來表示資料是合適的。

(2)short型別。

short型別說明一個帶符號的16位整型變數。short型別限制了資料的儲存應為先高位元組,後低位元組。

(3)int型別。

int型別說明一個帶符號的32位整型變數。int型別是一種最豐富、最有效的型別。它最常用於計數、陣列訪問和整數運算。

(4)long型別。

long型別說明一個帶符號的64位整型變數。對於大型計算,常常會遇到很大的整數,並超出int所表示的範圍,這時要使用long型別。

2、浮點型

浮點數常量

浮點數是帶有小數的十進位制數,可用一般表示法或科學記數法表示。0.23f、0.7e-3都是c++語言的浮點數常量。

(1)一般表示法:十進位制整數+小數點+十進位制小數。

(2)科學記數法:十進位制整數+小數點+十進位制小數+e(或e)+正負號+指數。

浮點變數型別

浮點變數也稱實數變數,用於需要精確到小數的函式運算中,有float和double兩種型別說明符。

(1)float型別。

float型別是一個位數為32位的單精度浮點數。它具有執行速度較快,佔用空間較少的特點。

(2)double型別。

double型別是一個位數為64的雙精度浮點數。雙精度數在某些具有優化和高速運算能力的現代處理機上運算比單精度數快。雙精度型別double比單精度型別float具有更高的精度和更大表示範圍,常常使用。

3、字元型

字元型常量

字元型常量是指由單引號括起來的單個字元。

例如:』a』,』a』,』z』,『$』,』?』。

注意:』a』和』a』是兩個不同的字元常量。

除了以上形式的字元常量外,c++語言還允許使用一種以「\」開頭的特殊形式的字元常量。這種字元常量稱為轉義字元,用來表示一些不可顯示的或有特殊意義的字元。

字元型變數

字元型變數的型別說明符為char,它在機器中佔8位,其範圍為0~255。

注意:字元型變數只能存放一個字元,不能存放多個字元,

3、布林型

布林常量

布林型變數

布林型變數的型別說明符為booi,用來表示邏輯值。

c裡面怎麼把字串轉成數字C裡面怎麼把字串轉成數字

itoa 表示 integer to alphanumeric 是把整型數轉換成字串的一個函式。windows環境下,在標頭檔案中有。char itoa int value,char string,int radix value 要轉換的整數,string 轉換後的字串,radix 轉換進位制數,如...

C中如何分割字串C中如何分割字串,例如將某個帶著路徑的檔名的字串分割後只得到最後的檔名。。。

可以用split。比如你先定義一個字串物件 string str a,b,c,d,e,f,g 然後你再定義一個陣列 string words str.split 這段 就是把str按照逗號進行分割,也就是把str分割成a和b和c和d和e和f和g儲存在你定義的字串陣列words中,此時words 0 ...

C中怎樣刪除字串兩端的字元,c 如何把字串中的指定字元刪除

string time,month,day string item time 2008年5月16日 item time.split 年 time item 1 item time.split 月 month item 0 time item 1 item time.split 日 day item ...