導航:首頁 > 文件管理 > 如何讓文件換行讀取

如何讓文件換行讀取

發布時間:2022-09-12 06:15:54

⑴ c++如何讀取文件中的換行符

c++讀取文件中的換行符的方法:

  1. 回車的ASCII代碼16進制是「0x0d」 10進制是「13」 在某些語言中可以用『 』表示。不同的操作系統對回車的處理是不同的:在Unix/Linux系統中,換行用' '一個字元表示,而在Windows系統中,則用" "兩個字元表示。

  2. 讀取字元判斷是否等於' '或者' ',如果等於就是回車。

常式:

#include<iostream>
usingnamespacestd;
voidmain()
{
chari;
i=cin.get();
while(i!='q')
{
if(i==' '||i==' ')//判斷是否等於' '或者' '
cout<<"你輸入了回車!";
else
{
cout<<i;
}i=cin.get();
}
}

⑵ c#從txt讀取數據並賦值時的換行讀取

方法1:以textbox為例
①:先設置textbox的屬性Multiline為true
②:組織好顯示字元串:FistLine(第一行要顯示的字元)、SecondLine(第二行要顯示的字元)、。。。。。。。、第n行字元
③textbox.text="FistLine"+System.Environment.NewLine+"SecondLine"+System.Environment.NewLine+。。。。+"第N 行"+System.Environment.NewLine
當你看到上面代碼的時候可能會認為我們一般用的換行符不是"\r\n"嗎
你會想到這種方式:textbox.text="FistLine"+「\r\n」+"SecondLine"+"\r\n"+。。。。+"第N 行"+"\r\n"
這種格式可能在運行時也不會出錯,但在Linux操作系統或其他系統可能就會出錯
WinForm的 textbox截圖效果:

請點擊輸入圖片描述
Textbox例子1用("\r\n"):具體代碼:

復制代碼代碼如下:

/// <summary>
/// 將結果填充到會員預定情況框
/// </summary>
/// <param name="dt"></param>
private void BindGuestOrder(DataTable dt)
{
int intRowsCount;
intRowsCount = dt.Rows.Count;
string[] strName = new string[intRowsCount];
string[] strPhone = new string[intRowsCount];
string[] strRoom = new string[intRowsCount];
string[] strNum = new string[intRowsCount];
string[] strTime = new string[intRowsCount];
for (int intRows = 0; intRows < intRowsCount; intRows++)
{
strName[intRows] = dt.Rows[intRows]["GuestName"].ToString();
strPhone[intRows] = dt.Rows[intRows]["LinkPhone"].ToString();
strRoom[intRows] = dt.Rows[intRows]["RoomName"].ToString();
strNum[intRows] = dt.Rows[intRows]["BookNo"].ToString();
strTime[intRows] = dt.Rows[intRows]["DineTime"].ToString();
AddMsgToTextBox("客人姓名:" + strName[intRows]);
AddMsgToTextBox("客人電話:" + strPhone[intRows]);
AddMsgToTextBox("預定房間:" + strRoom[intRows]);
AddMsgToTextBox("預約號:" + strNum[intRows]);
AddMsgToTextBox("預定時間:" + strTime[intRows]);
}
}

private int intCounts = 1;
/// <summary>
/// 顯示多行文本
/// </summary>
/// <param name="s"></param>
public void AddMsgToTextBox(string s)
{
int intCount1;
intCount1 = intCounts / 5;
CheckTextBox(intCount1);
txtVIPAdvanceOrder.Text += "\r\n" + s;
if (intCounts % 5 == 0)
{
txtVIPAdvanceOrder.Text += "\r\n";
}
intCounts++;
}

/// <summary>
/// 設置換行
/// </summary>
protected void CheckTextBox(int intCount1)
{
int iLines = 5 * (intCount1 + 2); //想顯示多少行。

string stxt = txtVIPAdvanceOrder.Text;
string[] s = stxt.Split('\n');
if (s.Length < iLines)
return;
txtVIPAdvanceOrder.Text = "";
for (int i = 1; i < s.Length; i++)
{
txtVIPAdvanceOrder.Text += s[i] + "\r\n";
}
stxt = txtVIPAdvanceOrder.Text;
if (stxt != "")
txtVIPAdvanceOrder.Text = stxt.Substring(0, stxt.Length - 1);
}

例子2:截圖效果(dev 控制項(Memoedit)):

請點擊輸入圖片描述
源碼:

復制代碼代碼如下:

/// <summary>
/// 將結果填充到會員預定情況框
/// </summary>
/// <param name="dt">預定會員的信息表</param>
private void BindGuestOrder(DataTable vardt)
{
memGusetInfo.Text = "";
int tmpRowsCount;
tmpRowsCount = vardt.Rows.Count;
string[] tmpstrName = new string[tmpRowsCount];
string[] tmpstrPhone = new string[tmpRowsCount];
string[] tmpstrRoom = new string[tmpRowsCount];
string[] tmpstrNum = new string[tmpRowsCount];
string[] tmpstrTime = new string[tmpRowsCount];
for (int i = 0; i < tmpRowsCount; i++)
{
tmpstrName[i] = vardt.Rows[i]["GuestName"].ToString();
tmpstrPhone[i] = vardt.Rows[i]["LinkPhone"].ToString();
tmpstrRoom[i] = vardt.Rows[i]["RoomName"].ToString();
tmpstrNum[i] = vardt.Rows[i]["BookNo"].ToString();
tmpstrTime[i] = vardt.Rows[i]["DineTime"].ToString();
string tmpstr1 = "客人姓名:" + tmpstrName[i] + System.Environment.NewLine;
string tmpstr2 = "客人電話:" + tmpstrPhone[i] + System.Environment.NewLine;
string tmpstr3 = "預定房間:" + tmpstrRoom[i] + System.Environment.NewLine;
string tmpstr4 = "預約號:" + tmpstrNum[i] + System.Environment.NewLine;
string tmpstr5 = "預約時間:" + tmpstrTime[i] + System.Environment.NewLine;
memGusetInfo.Text += string.Format("{0}{1}{2}{3}{4}", tmpstr1, tmpstr2, tmpstr3, tmpstr4, tmpstr5) + System.Environment.NewLine;
}
}

⑶ C語言 fscanf語句讀取文件時怎麼換行

fscanf()和scanf()一樣,都是以白字元(<space>、<Tab>和<Enter>)作為分隔符的,就是說,當讀到白字元時,就結束當前數據的讀入,並將下一個數據賦給下一個變數。白字元不會當作數據的一部分賦給變數,而會被舍棄,但最後一個白字元會被保留在源數據流中。
例如
char s[20];
int a,b,c;
數據文件中的數據是:
John 89 99 70<CR>
Jeo 78 99 69<CR>
用fscanf(infp,"%s%d%d%d",s,&a,&b,&c);讀取時,"John"復制到s,98賦給a,99賦給b,70賦給c,最後的<CR>會保留在文件中,當下一個scanf()函數再行讀入時,首先碰到<CR>,這個<CR>會被讀出並丟棄,即使有多個白字元也同樣被丟棄,直到讀到有效數據。

⑷ txt文件如何換行

推薦用軟體Replace Pioneer的正則表達式功能,把空格或table替換成換行符。詳細操作:
1. ctrl-o打開文本文件
2. ctrl-h打開replace窗口
* 在search for pattern輸入[\ \t]+表示連續的空格或製表符
* 在replace with pattern輸入\n表示換行符
3. 點擊Replace即可,ctrl-s存檔。

⑸ c語言讀取txt中數據如何換行

沒有必要讀入換行,數據讀入後如何輸出排版可自行安排。如果要原原本本讀進來,請換一個函數,用fgets來讀,它能把換行讀進來,且讀入換行後就認為這一行結束了……

⑹ c/c++中txt文件讀寫換行怎麼實現

"\r\n"其實是復回車和換行兩個字元制
"\n"是
new
line,換行。
"\r"是
carriage
return,回車。
在mac系統中的文本換行只用"\r",在unix系統中只用"\n",在我們最常用的windows系統中是"\r\n"。
樓主的寫法會受到程序的字元集影響。如果是mbcs字元集中,"\n"就可以進行文本換行,"\r\n"在某些文本編輯器中會轉換成兩個換行符。
windows自帶的記事本對於換行符的識別能力很弱,你用程序寫入"\r\n"進行換行,但直接在記事本中回車就只添加了"\n",再次打開時很容易出錯的。
解決方法:
建議你用mfc的cstring類存儲字元串,並在寫入時用str=_t("test.\n");的寫法。對文本文件的寫入用cstdiofile類的writestring函數,它可以實現對不同字元集的回車轉換。
如果程序字元集是unicode的話,別忘記在文本文件頭部加入bom頭。具體請參閱msdn

⑺ c語言 fscanf如何按照回車換行讀取文本文檔中的數據

  1. fscanf函數不能夠按照回車換行讀取數據,它遇到空格字元時也會斷開,建議使用fgets函數。

  2. scanf()函數接收輸入數據時,遇以下情況結束一個數據的輸入:(不是結束該scanf函數,scanf函數僅在每一個數據域均有數據,並按回車後結束)。
    ① 遇空格、「回車」、「跳格」鍵。
    ② 遇寬度結束。
    ③ 遇非法輸入。

  3. fgets函數從文件結構體指針stream中讀取數據,每次讀取一行。讀取的數據保存在buf指向的字元數組中,每次最多讀取bufsize-1個字元(第bufsize個字元賦''),如果文件中的該行,不足bufsize個字元,則讀完該行就結束。如若該行(包括最後一個換行符)的字元數超過bufsize-1,則fgets只返回一個不完整的行,但是,緩沖區總是以NULL字元結尾,對fgets的下一次調用會繼續讀該行。函數成功將返回buf,失敗或讀到文件結尾返回NULL。因此我們不能直接通過fgets的返回值來判斷函數是否是出錯而終止的,應該藉助feof函數或者ferror函數來判斷。

    函數原型
    char *fgets(char *buf, int bufsize, FILE *stream);
    參數
    *buf: 字元型指針,指向用來存儲所得數據的地址。
    bufsize: 整型數據,指明存儲數據的大小。
    *stream: 文件結構體指針,將要讀取的文件流。
    返回值
    成功,則返回第一個參數buf;
    在讀字元時遇到end-of-file,則eof指示器被設置,如果還沒讀入任何字元就遇到這種情況,則buf保持原來的內容,返回NULL;
    如果發生讀入錯誤,error指示器被設置,返回NULL,buf的值可能被改變。

⑻ c語言中怎樣在文件寫入時換行

假設已經打開的文件句柄為fp

如果是文本文件,用如下語句寫入換行
fprintf(fp,"\n");
如果是二進制文件,用如下語句寫入換行
char ch[]="\n\r";
fwrite(ch,2,1,fp);

閱讀全文

與如何讓文件換行讀取相關的資料

熱點內容
刪除一個文件夾找不到了 瀏覽:654
電腦桌面文件管理哪個軟體好 瀏覽:188
蘋果數據線頭歪了 瀏覽:135
ghostwin764位系統鏡像文件 瀏覽:443
感測器視頻教程下載 瀏覽:95
flash源文件賀卡下載 瀏覽:434
如何提高網路扶貧的效果 瀏覽:654
飛車軟體文件夾叫什麼 瀏覽:242
刷ec用什麼編程器 瀏覽:765
方菱數控u盤文件格式 瀏覽:260
編程為什麼輸出兩個變數 瀏覽:490
衛星大鍋2017用升級嗎 瀏覽:113
玉米win10系統下載 瀏覽:134
fgo技能升級減cd嗎 瀏覽:129
什麼記賬app免費好用 瀏覽:441
網路檢測可以檢測到什麼 瀏覽:504
sip協議教程 瀏覽:832
編程哪裡可以接項目 瀏覽:119
孤島驚魂win10 瀏覽:246
網路HRV是什麼意思 瀏覽:918

友情鏈接