
20.07.2024, 17:03
|
|
Участник форума
Регистрация: 19.01.2017
Сообщений: 130
С нами:
4901705
Репутация:
98
|
|
Functions to add names to the file, could be useful for friends list etc... not just names other text in general:
Код:
void
WriteNamesToFile
(
const
std
::
string
&
filename
,
const
std
::
set
&
names
)
{
std
::
ofstream
outfile
(
filename
)
;
for
(
const
auto
&
name
:
names
)
{
if
(
!
name
.
empty
(
)
)
{
outfile
names
=
ReadNamesFromFile
(
filename
)
;
if
(
new_name
.
empty
(
)
||
names
.
find
(
new_name
)
!=
names
.
end
(
)
)
return
;
names
.
insert
(
new_name
)
;
WriteNamesToFile
(
filename
,
names
)
;
}
//name_to_remove or in general any text
void
RemoveNameFromFile
(
const
std
::
string
&
filename
,
const
std
::
string
&
name_to_remove
)
{
std
::
set
names
=
ReadNamesFromFile
(
filename
)
;
if
(
names
.
erase
(
name_to_remove
)
>
0
)
WriteNamesToFile
(
filename
,
names
)
;
}
bool
NameExistsInFile
(
const
std
::
string
&
filename
,
const
std
::
string
&
name_to_check
)
{
std
::
set
names
=
ReadNamesFromFile
(
filename
)
;
return
names
.
find
(
name_to_check
)
!=
names
.
end
(
)
;
}
std
::
set
ReadNamesFromFile
(
const
std
::
string
&
filename
)
{
std
::
set
names
;
std
::
ifstream
infile
(
filename
)
;
std
::
string name
;
while
(
std
::
getline
(
infile
,
name
)
)
{
if
(
!
name
.
empty
(
)
)
names
.
insert
(
name
)
;
}
return
names
;
}
|
|
|