使用 setw() 函数保存文件时如何获取每个属性的值
How to get value for each attribute when file was save with setw() function
我是 C++ 的新手。如果我的问题有任何错误,我很抱歉。
我有一个包含 4 个属性的文件:姓名、职位、生日、薪水
我使用 setw() 函数来保存 file.txt 这样的格式
NAME POSITION BIRTHDAY SALARY
James Smith CEO 10/12/1991 3000
Robert Wiliam IT 5/4/1990 4999
Maria Rodriguez Designer 12/3/1994 4923
Maria Hernandez Waiter 22/2/1992 4022
现在,我想读回所有这些属性的每个属性是这个 table 的每个值,就像这样 (一个人的例子):
staff1:
Name: James Smith
Position: CEO
Birthday: 10/12/1991
Salary: 3000
我不知道如何为每位员工获取价值。你能给我一些想法吗?
如果每个属性都被保存并且它们之间用逗号分隔,我将使用
getline(fileIn, name, ',');
但在这种情况下不起作用。
使用fileIn.getline(name, 20)
(假设保存时使用setw设置了20个空格)
然后用
fileIn >> position >> birthday >> salary
读入其余部分。
如果您不知道其余列是否可能包含空格,您可以继续使用 getline 而不是提取运算符。
我是 C++ 的新手。如果我的问题有任何错误,我很抱歉。
我有一个包含 4 个属性的文件:姓名、职位、生日、薪水
我使用 setw() 函数来保存 file.txt 这样的格式
NAME POSITION BIRTHDAY SALARY
James Smith CEO 10/12/1991 3000
Robert Wiliam IT 5/4/1990 4999
Maria Rodriguez Designer 12/3/1994 4923
Maria Hernandez Waiter 22/2/1992 4022
现在,我想读回所有这些属性的每个属性是这个 table 的每个值,就像这样 (一个人的例子):
staff1:
Name: James Smith
Position: CEO
Birthday: 10/12/1991
Salary: 3000
我不知道如何为每位员工获取价值。你能给我一些想法吗?
如果每个属性都被保存并且它们之间用逗号分隔,我将使用
getline(fileIn, name, ',');
但在这种情况下不起作用。
使用fileIn.getline(name, 20)
(假设保存时使用setw设置了20个空格)
然后用fileIn >> position >> birthday >> salary
读入其余部分。
如果您不知道其余列是否可能包含空格,您可以继续使用 getline 而不是提取运算符。