[英]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.