㈠ 請教C++里利用fstream來逐行控制讀取和寫入TXT的方法。
我想劍應該會宣告跟使用副程兆轎滑式吧
當然記得要引入
#include <fstream.h>
#include <stdio.h>
#include <string.h>
我帆亮寫了一個程式給你做為參考
也經過測試,是可以成功的
!!請注意所有陣列的大小族臘!!
!!資料量不可超過陣列的大小!!
!!陣列的大小當然越大越好!!
◎假設有個檔案叫123.txt檔,其內容為:
Label_001:Zoharwolf
Label_002:TERENCEYAO
Label_003:DragonKing
Label_004:Apple
Label_005:Wolf
Label_006:XD
因為最進自己實驗室也剛好要寫網路封包字串解析
就順道練習一下XD
思路是file讀取時把每換行的動作變成...
換行動作的格式化輸出型式" \r\n "
而進一步解析字串內容
(以下內容主要是以主程式跟副程式的內容為主)
◎主程式的部份:
int main()
{
char gstr[200];
char data[200];
char pser[200];
int row;
memset(data,0,sizeof(data));
memset(gstr,0,sizeof(gstr));
ifstream fin;
fin.open("123.txt");
do{
strcat(data,gstr);
strcat(data,"\r\n");
fin>>gstr;
}while(!fin.eof());
fin.close();
// 此時pser所存放的就是第3行的資料
// 所以pser所存放的就是Label_003:DragonKing
Reading_Row(3, data, pser);
// 查找某欄位在哪一行之例子(1)::此時row為4
row=Searching_Row(data, "Apple");
// 查找某欄位在哪一行之例子(2)::此時row會是為3
row=Searching_Row(data, "Dragon");
// 此時123.txt的第3行的字串已經變成Label_003:Fstream
Replacing_Row(3, data, "Label_003:Fstream");
return 0;
}
◎副程式Reading_Row的部份:
//====================================================================
// 搜索txt文字檔中 第N行的資料
//----------------------------------------------
// Reading_Row(要搜索的行數, 要搜索資料的buffer, 存放搜索該行資料的buffer)
//====================================================================
int Reading_Row(int row, char *Buf, char *Msg)
{
int i,j=0,count=-1;
memset(Msg,0,sizeof(Msg));
for(i=0; Buf[i]!=0; i++,j++)
{
Msg[j]=Buf[i];
if(Buf[i]=='\n' && Buf[i-1]=='\r')
{ count++;
if(count==row)
{ Msg[j-1]=0;
return row;
}
j=-1;
}
}
return 0;
}
◎副程式Searching_Row的部份:
//====================================================================
// 查找某個欄位在哪一行
//----------------------------------------------
// Searching_Row(要搜索資料的buffer, 搜索的欄位)
//====================================================================
int Searching_Row(char *Buf, char *Msg)
{
int i,j,len=0,count=0;
int compareLen=0;
for(i=0; Msg[i]!=0; i++)
len++;
for(i=0; Buf[i]!=0; i++)
{
for(j=0; Msg[j]!=0; j++)
{ if(Buf[i+j]==Msg[j])
compareLen++;
}
if(compareLen==len)
return count++;
else
compareLen=0;
if(Buf[i]=='\n' && Buf[i-1]=='\r')
count++;
}
return 0;
}
◎副程式Replacing_Row的部份:
//====================================================================
// 第N行替換成某字串 + 改變儲存該txt文字檔
//----------------------------------------------
// Replacing_Row(第N行是要替換的, 讀取資料的buffer, 替換字串)
//====================================================================
int Replacing_Row(int row, char *Buf, char *Msg)
{
int i,j,len=0,count=1;
char newbuf[1000];
memset(newbuf,0,sizeof(newbuf));
for(i=0; Msg[i]!=0; i++)
len++;
for(i=2,j=0; Buf[i]!=0; i++,j++)
{
if(count==row)
{ for(int n=0; Msg[n]!=0; n++)
newbuf[j+n]=Msg[n];
newbuf[j+n]='\r';
newbuf[j+n+1]='\n';
j+=len; j+=1;
do{
i++;
}while(Buf[i]!='\n' && Buf[i-1]!='\r');
}
else
newbuf[j]=Buf[i];
if(Buf[i]=='\n' && Buf[i-1]=='\r')
count++;
}
ofstream fout;
fout.open("123.txt");
fout<<newbuf;
fout.close();
return 0;
}
㈡ 如何讀寫txt文件
先從Text1寫到文件里去,再從文件里讀出到Text1中:
Text1的多行功能要自己在屬性窗口設置MultiLine=True,ScrollBars=2
以下是二進制讀取的過程:
Dim fname As String, ftxt As String
Private Sub Command3_Click() '將文本重新調緩察瞎入文本框
Text1 = ftxt
End Sub
Private Sub Form_Load()
ftxt = "怎樣讀寫一個txt文件,並把全部內容寫入text1里(text1有多行功能)?" & vbCrLf & _
"包括讀功能還有寫功能,讀的時候把內容寫到text1里。寫的時候把text1的內容寫進去(之前先把txt內容清空)。" & vbCrLf & _
"還有要那個txt文件用記事本直接打開看到的是亂碼,而通過vb讀取的是正常。這個功能不難,不是要您加密,好像是ascii和unicode碼互換的問題,還是二進制問題……我忘了……不過記得好像是讀取代碼的參數沒物改一下就行了" & vbCrLf & _
"很久以前搞過,現在忘了。現在急用,希望回答者能給完擾空整代碼。我給多分"
Text1.Text = ftxt
Command1.Caption = "二進制寫"
Command2.Caption = "二進制讀"
Command2.Enabled = False
Command3.Caption = "調入文本"
fname = "f:\test.txt"
End Sub
Private Sub Command1_Click() '二進制寫功能
Dim s() As Byte
s = Text1.Text
Open fname For Binary As #1
Put #1, , s
Close #1
Command2.Enabled = True
Text1 = ""
End Sub
Private Sub Command2_Click() '二進制讀功能
Dim s() As Byte
Open fname For Binary As #1
ReDim s(LOF(1) - 1) As Byte
Get #1, , s
Close #1
Text1.Text = s
End Sub
Private Sub Command4_Click() '正常讀文件
Dim s As String
Text1 = ""
Open fname For Input As #1
Do While Not EOF(1)
Line Input #1, s
Text1 = Text1 & s & vbCrLf
Loop
Close #1
End Sub
Private Sub Command5_Click() '正常寫文件
Dim s As String
s = Text1
Open fname For Output As #1
Print #1, s
Close #1
Text1 = ""
End Sub
㈢ 讀取txt文件
""逗飢"
讀取txt文件txt文件使我們經常帆指知操作的文件類型,Python提供了以下幾種讀取txt文件的方法。read() 讀取整個文件readline() 讀取一行數據readlines() 讀取所有行的數據"""
# 讀取文件
with(open("./data_file/態消user_info.txt","r"))as user_file:
data= user_file.readlines()
print(data)
# 格式化處理
users= []
for linein data:
user= line[:-1].split(":")# 刪除每一行字元串最後一個字元並通過":"號分割成數組
users.append(user)
# 列印users二維數組
print(users)
㈣ 如何讀取TXT文件中的數據
這么專業的問題,如果不想編拿雀程序,用Replace Pioneer是你的首選。
=======================
怎樣按列分割:
1. ctrl-o打開IN.txt
2. 選擇File->Save As->Split by Column 菜單消蔽早
3. 把Split Name的內容改成${BASE}#.${EXT}
4. 點擊Next,輸入OUT.txt作為結果文件名,OK!
註:
有了格式${BASE}#.${EXT},OUT.txt就會被實際輸出為OUT1.txt, OUT2.txt, ...
=======================
要想並模把OUT3.txt加1,只須在處理前把第3列加1。步驟:
1. ctrl-o打開IN.txt
2. ctrl-h打開替換窗口
* 把Replace Unit選成Word
* 把Replace Scope選成Line
* 把Unit Number Filter設成3,表示第3列
* 在Replace with pattern下添:
add($match,1)
3. 點擊Replace,即得到:
10.031 -0.390 0.71
10.033 -0.390 0.72
10.036 -0.385 0.72
Replace Pioneer下載:
http://www.mind-pioneer.com/replace/Download.html
㈤ txt文件如何分配讀寫許可權
TXT文件是文本文件,通常用虧握拿於保存文本信息。在Windows操作系統中,你可以通過以下步驟分配TXT文件的讀寫許可權:
1. 在文件上右鍵單擊,選擇「屬性」選項。
2. 在「屬性」窗口中,點擊「安全」選項卡。
3. 點擊「編輯」按鈕,選擇用戶或用銷搭戶組,然後在「許可權」選項中勾選相應的讀取或寫入許可權。
4. 點擊「確定」按鈕皮者,保存更改。
注意,對於一些操作系統,如Unix或Linux,可以通過命令行來分配TXT文件的讀寫許可權。
㈥ 如果用labview讀取TXT文件里的數據
1、首先需要用文件I/O中的讀取電子表格文件函數,將txt文件中的數據讀成一個二維數組,共兩列,第一列是x軸的數據,第二列是y軸的數據。
(6)天池實驗室可以讀取txt文件嗎擴展閱讀
labview的特點
1、盡可能採用了通用的硬體,各種儀器的差異主要是軟體。
2、可充分發揮計算機的能力,有強大的數據處理功能,可以創造出功能更強的儀器。
3、用戶可以根據自己的需要定義和製造各種儀器。
4、虛擬儀器研究的另一個問題是各種標准儀器的互連及與計算機的連接。目前使用較多的是IEEE488 或 GPIB協議。
5、LabVIEW[3](Laboratory Virtual instrument Engineering Workbench)是一種圖形化的編程語言的開發環境。
6、它廣泛地被工業界、學術界和研究實驗室所接受,視為一個標準的數據採集和儀器控制軟體。
7、LabVIEW [3]集成了與滿足 GPIB、VXI、RS-232和 RS-485 協議的硬體及數據採集卡通訊的全部功能。
8、它還內置了便於應用TCP/IP、ActiveX等軟體標準的庫函數。這是一個功能強大且靈活的軟體。
9、利用它可以方便地建立自己的虛擬儀器,其圖形化的界面使得編程及使用過頃晌程都生動有趣。
10、圖形化的程序語言,又稱為 「G」 語言。使用這種語言編程時,基本上不寫程序代碼,取而代之的是流程圖或框圖。
11、它盡可能利用了技術人員、科學家、工程師所熟悉的術語、圖標和概念,因此,LabVIEW 是一個面向最終用戶的工具。
12、它可以增強你構建自己的科學和工程系統的能力,提供了實現儀器編程和數據採集系統的便捷途徑。
13、使用它進行原理研究、設計、測試並實現儀器系統時,可以大大提高工作效率。
㈦ 天池大數據怎麼打開數據
1、打開天池大數據螞歷軟體。
2、點擊左上角文件,選擇導入。
3、導入列表中答姿選中需要打開的數據即可悶舉搜。以上為天池大數據打開數據的方法。