[英]C++ reading specific parts of a text file
晚上好!
我正在這個C ++類中完成編程的第一學期(完全是編程新手),並且有一個最終項目。 我們需要做的是創建一個模擬社交媒體網絡(類似於Facebook),您可以在其中注冊,發布帖子,關注其他用戶以及其他此類基本功能。
該項目的基本思想是將新信息寫入並將其附加到文本文件中,並將其用作數據庫。
我現在遇到的問題之一是,我發現只有在所有行的長度都相同的情況下,才能讀取文件的特定行。 例如,當我要查看用戶的公共信息(例如其姓名和職業)時,就會出現問題,因為我必須從特定的行中讀取內容,但是這些行可能包含不同長度的信息。 例如,如果不同的用戶遵循不同的人數,那么這樣做的目的是使並非每一行都有相同數量的單詞。
到目前為止,這是我的項目的非常精簡的框架代碼,以節省一些空間:
project.cpp(實現)
#include <iostream>
#include <string>
#include "project02.h"
using namespace std;
void Login()
{
//login screen, if user chooses to sign up then it calls setUserInfo()
}
//includes setter and getter functions but I won't need to list them here
project.h(標頭)
#ifndef PROJECT02_H
#define PROJECT02_H
using namespace std;
void Login();
class UserInfo
{
//class for setting and getting user information
};
projectmain.cpp(主要)
#include <iostream>
#include <string>
#include "project02.h"
using namespace std;
int main()
{
Login();
return 0;
}
這就是要旨。 當新用戶注冊時,所有輸入的用戶信息都將附加到文件中以供以后使用。 現在最主要的擔心是,當我以后必須閱讀特定用戶的信息時,如果最終的長度不同,我將無法閱讀特定行,因此我想知道是否有人對我如何提供建議考慮這些功能的情況下進行此項目。
任何見識將不勝感激=)
編輯:我正在用ifstream讀取文件。 反正那是我唯一知道的方法。
您幾乎已經發現了問題。 由於您的問題沒有確定的答案,因此請以我的提示為起點:
\\n
,那么您當然可以讀取文件的特定行。 但是您必須從頭開始遍歷整個文件,通過計算跳過的所有行來找到該行。 seek()
)。 然后,您可能需要一種標記行長度的方法 ,因為您將把較短的行擴展到公共長度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.