C 檔案流 字串流

2021-10-04 12:01:43 字數 2177 閱讀 7266

#include #include #include #include #include #include using namespace std;

ifstream in;

void except()catch(...);

int main(){

char a,b;

string str,word,str1,str2 = "sssssss";

vectorpeople;

person pl;

// cin >> a;

// cout << a << "\n";

// cin >> b;

// cout << b << endl;

in.open("c:\\users\\done1\\desktop\\gcc.txt", ios::in);

if(!in){

cout << "not found file"<> str;

cout << "str origin data:"<< str << endl;

cout << "----------------------------------------"<< endl;

stringstream strm(str); //定義字串流,並繫結字串str,字串str的內容被複製到strm的字串流中

stringstream strm1;

//將字串str拷貝到字串流中,當定義字串流位繫結字串時,使用str()方法來繫結,str()其實被過載了

str = strm.str(); //返回字串流strm中儲存字串的拷貝,

cout << "get str from strm,origin data:"<< str <> str; //將字串流中的內容,寫入到str字串中,會修改原來的字串內容

cout << "update str data by strno:"<< str <> strtemp; //將字串流中內容賦給 << 後的內容

cout << "clear stream and revalue by << " << strno.str() <> " << strtemp << endl;

cout << "----------------------------------------"<< endl;

cout << "get pname and phone from strm :";

str = strm.str();

cout << str << endl;

strm >> pl.name; //將字串流中複製字串 賦給 >> 後的值

strm1 << "111";

strm1 >> word;

cout << "name " << pl.name <#include using namespace std;

int main(){

stringstream strm;

int i = 0;

string str="str not null",str1,str2,str3="str3 not null";

strm.str("1111"); //與 strm << "111111"; 結果相同

// strm.str(1111); //錯誤,使用str只能拷貝字串到字串流中,不能使用整形資料

//字串流程式執行時只能使用一次,執行此語句後str1和strm建立連線,所以strm無法再和其他字串建立連線

strm >> str1;

cout << "str1 = "<< str1 << endl;

strm >> str3; //此處str3無法和strm建立連線,就無法將strm中到內容拷貝到str3中

cout << "str3 not modify,keep origin data: " << str3 << endl;

strm.str(""); //清空strm字串流,直接將字串流內容清空,無法通過《向流中寫入內容,只能使用str()初始化

str = strm.str(); //strm中的內容被清除

if(str.length() == 0)cout << "str become null" <> str2; //使用clear後可以重新將字串流內容寫入字串中

i = str2.length();

if(i)cout << "str2 not null:" << str2 《參考:

c 控制台流和字串流

上一章節簡單介紹c 中關於流的概念,這兩章節將重點講解如何使用,本章講解控制台流和字串流。輸出流定義在標頭檔案中,使用輸出流最簡單的方法就是 使用 運算子。通過你 可以輸出c 基本型別。包括int 指標 double 字元。int ncount 7 cout cout 輸出 teststream c...

C 字串流儲存資料

檔案流是以外存檔案為輸入輸出物件的資料流。字串流是以記憶體中使用者定義的字元陣列 字串 為輸入輸出物件的。建立輸出字串流 ostrstream strout c,sizeof c 第乙個引數是字元陣列首元素的指標,第二個引數為指定的流緩衝區的大小 一般選與字元陣列c的大小相同 建立輸入字串流 ist...

關於字串流的學習 c

字串流 在字元陣列中可以存放字元,也可以存放整數 浮點數以及其他型別的資料。在向字元陣列存入資料之前,要先將資料從二進位制形式轉換為ascii 然後存放在緩衝區,再從緩衝區送到字元陣列。從字元陣列讀資料時,先將字元陣列中的資料送到緩衝區,在賦給變數前要先將ascii 轉換為二進位制形式。總之,流緩衝...