Показать сообщение отдельно

  #6  
Старый 20.07.2024, 17:03
_=Gigant=_
Участник форума
Регистрация: 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
;
}
 
Ответить с цитированием