如何從讀入的string流中按格式提取出需要的資料?

2025-03-25 02:15:29 字數 3516 閱讀 5455

怎樣用c++從檔案中讀入string型別的資料?

1樓:網友

不用string不行嗎?

1.可以搞成固定長度的字串, 這樣方便讀取,缺點浪費空間2.弄個結構/類。

struct

寫乙個長度,再謝字串內容,這樣讀取時,每次先讀出長度,再讀取該長度的字串。

優點:省空間,缺點一旦那邊檔案出錯了,就全亂了3.索引表。

檔案中僅存字串, 外面單獨搞個陣列記錄每個字串的長度。。。

c++怎麼從輸入流裡面提取目標型別的字元

2樓:西門飛磚

計算機內部儲存不管是數字還是字母都是用的整數。

就可以通過每個元素相加的和,比如輸入乙個三位數,那麼他每個元素的和肯定是<=27的,就可以斷定它為乙個數字的字串。

然後其他符號在計算機內部儲存的數字**比124(z)大。所以3個字元的string每個元素的相加<=372;

就這樣判斷。

int sum = 0;

string string 1;

cin>>string1;

char* p = string1;

while(p)

sum+=*p++;

if(sum<=27) cout《為數字;

else if(sum>27&& sum<=372) cout《為字母;

else if(sum>372) cout《為其他符號;

如果要知道輸入的是幾個字元的字串,就用指標計算一下,然後得到相應的每個元素的和作為判斷條件。

c++如何從文字內讀取格式為"string=int"的資料,儲存在類裡,可直接以string來呼叫string和關聯int的值

3樓:網友

首先你要搞清楚變數名只是個名字,和字串沒有任何關係。變數名在機器中沒有任何表示 只有變數儲存乙個記憶體位址,你不能指望機器能識別你定義的變數名。其次列舉的用法你沒有弄明白,列舉的元素不等於類物件。

你不能用列舉元素來進行類操作。

合理的方式是定義乙個類物件,根據類物件進行操作。給你個合理的設計建議:

類物件可以讀取文字中所有的字串和常量,用於查詢:

listmyclass::getallnames() const;

listmyclass::getallvalues() const;

其次例項物件根據值或者字串進行查詢:

string myclass::getname(int _value) const;

int myclass::getvalue(string _name) const;

4樓:周生

char strbuf = fgetline(..

int ret = strncmp("string1", strbuf, strlen("string1"));

只是寫了下思路,你詳細一下就可以實現。

5樓:網友

樓主的意思含糊,看大概是不是這樣:

struct value

#define defv(name) value name =namespace myclass

然後讀取配置檔案中的值,偽**: = readintfromtxt(;

6樓:網友

你去看看 c++ 裡面的 map 吧,看看能用不。

如何讀取list裡面的資料按順序讀取

7樓:網友

listlsit=new list();這一句應該在for (int i = 0; i < 50;i++ 前納緩擾面吧。

這洞旦裡是新增值哪飢到list裡。

獲取的話可以用迴圈或者用索引器。

c++讀入乙個文字檔案,將資料讀入到乙個字串中

8樓:冰空花束的奇蹟

根據在dev c++ 中的測試,程式應該沒有問題。

你可以檢查一下。如果檔案末有多餘空行的話,輸出可能有問題。

這是因為你使用了sizeof(file)。還有,sizeof(file)確實是檔案的大小,這個沒有問題。

9樓:網友

sizeof(file)是ifstream的物件的大小,並非檔案的大小。

這裡應該用檔案大小。

c++如何用檔案流讀取字串到string,直到遇到逗號

10樓:夷樹枝邸碧

如果沒有空串,則可以先將string中的逗號替換成空格,然後用stringstream類來讀取。

請問一下 怎麼用c語言實現讀取乙個txt檔案裡的資料 要按行讀出來

11樓:網友

開啟檔案 fopen("需要開啟的路徑")然後使用fgets函式讀取行。

#include

#include

#include

#define max_line 1024int main()

while(fgets(buf,max_line,fp) != null)

return 0;}

12樓:

/*假設你的資料檔案是d:\

用迴圈把數字讀到陣列a裡面順便顯示出來 */#include

int main()

while(!feof(fp))

fclose(fp);

return 0;}

13樓:網友

簡單的辦法:

#include

.//這裡的你自己的程式,省去。

file *fp = fopen("你的檔案的檔名", "r");

int n;

while (!feof(fp))

fclose(fp); //讀完就退出迴圈。

14樓:勇敢的心

可以用c++的流來做,包含fstream標頭檔案,定義乙個ifstream輸入流,用getline函式讀一行資料,當然讀了之後可以把。

#include

#include

using namespace std;

void main()

ifstream in("####");//傳入檔名string str;//用於放一行資料。

getline(in,str);//重點,很簡單吧cout<>value;//這樣程式會忽略空白符讀入乙個double型的資料。

15樓:上善若水

利用輸入輸出流開啟檔案,然後按行讀取放到string型別,然後再重定向到 double型別中,程式如下已經過除錯:

#include

#include

#include

#include

using namespace std;

void main()

新割的蜂蜜如何從蜂巢中取出如何從蜂巢中取出蜂蜜?

使用搖蜜機。是專門用來搖蜜取蜜的裝置,只需要把割掉封蓋的巢脾,讓入搖蜜機,然後轉動把手,讓巢脾高速旋轉,通過離心力的作用讓液體的蜂蜜從蜂巢中甩出,這就是搖蜜的過程。蜂蜜的品質優劣關鍵在於是不是成熟蜜,傳統的蜂場根本沒有成熟蜜,所以他們在搖蜜的時候也不會用刀割封蓋,因為根本就沒有封蓋,當然也無需割,而...

如何從生辰中受益,讓自己的命運變得更好

文 阿育老師 生辰八字天註定,大致決定了一個人一生的運勢,但我們可以順勢而為,讓自己的命運變得更好!1 事業方面,儘量從事與喜用神相搭配的行業。比如自己八字的喜用神是木,那麼最好不要從事與金屬有關的行業,因為五行中金克木。如果你不懂,或者明知卻不相信,非要從事與金屬有關的行業,到時費神費力卻事業毫無...

大家是如何讓自己從憤怒中趨於平靜的

喝一口水,先讓自己冷靜一下,然後就是深呼吸,心裡默唸著不能生氣不能生氣,生氣容易變醜!然後一會就平靜了。給你說個搞笑的方法吧,憤怒時就對自己說 世界如此美妙,我卻如此煩躁,不好,不好我不能這麼憤怒就可以了。聽 吧,要不就舒緩 這樣平靜不下來的話 就聽搖滾 以毒攻毒,至少這樣會轉移你的注意力。還有一個...