簡體   English   中英

如何從固定寬度的輸入文本文件中讀取多行?

[英]How to read multiple lines from a fixed width input text file?

我是編程新手,並且已經為這個問題苦苦掙扎了幾個小時,而且似乎無法在任何地方找到確切的在線信息。

我希望程序從看起來類似於以下內容的輸入文件中讀取(每個點代表一個空格):

Last................First...............OtherText

我想從文件中讀取第一個字符串,然后忽略所有內容,然后重新開始並僅讀取中間字符串,然后重新開始並僅准備最后一個文本字符串。

我已經嘗試過使用ignore函數來進行此操作,但沒有找到成功的方法來重置ignore函數以每次從文件開頭重新開始:

inputFile1.ignore(0) >> lastName;
inputFile1.ignore(20) >> firstName;
inputFile1.ignore(49) >> transactionDate;

我在這里想念什么?

解決了

對於可能遇到此問題的任何人,提取固定列寬文本文件特定部分的解決方案是使用substr“修剪”所需的區域。 我的工作代碼如下所示:

getline (inputFile1, inputLine1);               // Retrieve the row
lastName = inputLine1.substr(0,20);             // Extract columns
firstName = inputLine1.substr(20,20);
transactionDate = inputLine1.substr(49,10);

與substr關聯的第一個數字表示您要忽略的列,第二個數字表示您希望檢索的列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM