How to shift array and output to ofstream write?
up vote
-3
down vote
favorite
I want shift char array from read file and write output. but i got 2 errors. i dont know with this error.
no suitable conversion function from "std::valarray" to "const
char *" exists
'std::basic_ostream>
&std::basic_ostream>::write(const _Elem
*,std::streamsize)': cannot convert argument 1 from 'std::valarray' to 'const _Elem *'
void CaesarCipher(std::wstring i_inputFilePath, std::wstring o_outputFilePath, int shift)
{
ifstream file(i_inputFilePath, ios::binary);
if (file.is_open())
{
ofstream output(o_outputFilePath, ios::binary);
std::array<char, 1024> buffer;
while (!file.eof()) {
file.read(buffer.data(), buffer.size());
std::rotate(buffer.begin(), std::next(buffer.begin(), shift), buffer.end());
output.write(buffer, buffer.size());
}
output.close();
file.close();
}
else
{
cout << "File is not exist";
}
}
int main()
{
CaesarCipher(L"D:/input.exe", L"D:/output.exe", 1);
}
c++ linux windows visual-studio
add a comment |
up vote
-3
down vote
favorite
I want shift char array from read file and write output. but i got 2 errors. i dont know with this error.
no suitable conversion function from "std::valarray" to "const
char *" exists
'std::basic_ostream>
&std::basic_ostream>::write(const _Elem
*,std::streamsize)': cannot convert argument 1 from 'std::valarray' to 'const _Elem *'
void CaesarCipher(std::wstring i_inputFilePath, std::wstring o_outputFilePath, int shift)
{
ifstream file(i_inputFilePath, ios::binary);
if (file.is_open())
{
ofstream output(o_outputFilePath, ios::binary);
std::array<char, 1024> buffer;
while (!file.eof()) {
file.read(buffer.data(), buffer.size());
std::rotate(buffer.begin(), std::next(buffer.begin(), shift), buffer.end());
output.write(buffer, buffer.size());
}
output.close();
file.close();
}
else
{
cout << "File is not exist";
}
}
int main()
{
CaesarCipher(L"D:/input.exe", L"D:/output.exe", 1);
}
c++ linux windows visual-studio
1
Worth reading regardingwhile(!file.eof())
: stackoverflow.com/questions/5605125/…
– Galik
Nov 20 at 16:01
@Galik i don't problem with the read in chunk file. i already test it in my project. the problem how to shift data from file read and write it.
– user10681144
Nov 20 at 16:06
I wasn't trying to answer your question. I was just pointing out a bug in your code.
– Galik
Nov 20 at 16:18
You've changed the code so now the problem description and error messages no longer make sense.
– Blastfurnace
Nov 20 at 16:35
Unrelated note about the tag visual-studio. If you read the description, it says DO NOT use this tag on questions regarding code which merely happened to be written in Visual Studio., so it should not be used in this question. Similar applies to the Linux and Windows tags.
– Richardissimo
Nov 21 at 21:19
add a comment |
up vote
-3
down vote
favorite
up vote
-3
down vote
favorite
I want shift char array from read file and write output. but i got 2 errors. i dont know with this error.
no suitable conversion function from "std::valarray" to "const
char *" exists
'std::basic_ostream>
&std::basic_ostream>::write(const _Elem
*,std::streamsize)': cannot convert argument 1 from 'std::valarray' to 'const _Elem *'
void CaesarCipher(std::wstring i_inputFilePath, std::wstring o_outputFilePath, int shift)
{
ifstream file(i_inputFilePath, ios::binary);
if (file.is_open())
{
ofstream output(o_outputFilePath, ios::binary);
std::array<char, 1024> buffer;
while (!file.eof()) {
file.read(buffer.data(), buffer.size());
std::rotate(buffer.begin(), std::next(buffer.begin(), shift), buffer.end());
output.write(buffer, buffer.size());
}
output.close();
file.close();
}
else
{
cout << "File is not exist";
}
}
int main()
{
CaesarCipher(L"D:/input.exe", L"D:/output.exe", 1);
}
c++ linux windows visual-studio
I want shift char array from read file and write output. but i got 2 errors. i dont know with this error.
no suitable conversion function from "std::valarray" to "const
char *" exists
'std::basic_ostream>
&std::basic_ostream>::write(const _Elem
*,std::streamsize)': cannot convert argument 1 from 'std::valarray' to 'const _Elem *'
void CaesarCipher(std::wstring i_inputFilePath, std::wstring o_outputFilePath, int shift)
{
ifstream file(i_inputFilePath, ios::binary);
if (file.is_open())
{
ofstream output(o_outputFilePath, ios::binary);
std::array<char, 1024> buffer;
while (!file.eof()) {
file.read(buffer.data(), buffer.size());
std::rotate(buffer.begin(), std::next(buffer.begin(), shift), buffer.end());
output.write(buffer, buffer.size());
}
output.close();
file.close();
}
else
{
cout << "File is not exist";
}
}
int main()
{
CaesarCipher(L"D:/input.exe", L"D:/output.exe", 1);
}
c++ linux windows visual-studio
c++ linux windows visual-studio
edited Nov 20 at 16:31
asked Nov 20 at 15:52
user10681144
1
Worth reading regardingwhile(!file.eof())
: stackoverflow.com/questions/5605125/…
– Galik
Nov 20 at 16:01
@Galik i don't problem with the read in chunk file. i already test it in my project. the problem how to shift data from file read and write it.
– user10681144
Nov 20 at 16:06
I wasn't trying to answer your question. I was just pointing out a bug in your code.
– Galik
Nov 20 at 16:18
You've changed the code so now the problem description and error messages no longer make sense.
– Blastfurnace
Nov 20 at 16:35
Unrelated note about the tag visual-studio. If you read the description, it says DO NOT use this tag on questions regarding code which merely happened to be written in Visual Studio., so it should not be used in this question. Similar applies to the Linux and Windows tags.
– Richardissimo
Nov 21 at 21:19
add a comment |
1
Worth reading regardingwhile(!file.eof())
: stackoverflow.com/questions/5605125/…
– Galik
Nov 20 at 16:01
@Galik i don't problem with the read in chunk file. i already test it in my project. the problem how to shift data from file read and write it.
– user10681144
Nov 20 at 16:06
I wasn't trying to answer your question. I was just pointing out a bug in your code.
– Galik
Nov 20 at 16:18
You've changed the code so now the problem description and error messages no longer make sense.
– Blastfurnace
Nov 20 at 16:35
Unrelated note about the tag visual-studio. If you read the description, it says DO NOT use this tag on questions regarding code which merely happened to be written in Visual Studio., so it should not be used in this question. Similar applies to the Linux and Windows tags.
– Richardissimo
Nov 21 at 21:19
1
1
Worth reading regarding
while(!file.eof())
: stackoverflow.com/questions/5605125/…– Galik
Nov 20 at 16:01
Worth reading regarding
while(!file.eof())
: stackoverflow.com/questions/5605125/…– Galik
Nov 20 at 16:01
@Galik i don't problem with the read in chunk file. i already test it in my project. the problem how to shift data from file read and write it.
– user10681144
Nov 20 at 16:06
@Galik i don't problem with the read in chunk file. i already test it in my project. the problem how to shift data from file read and write it.
– user10681144
Nov 20 at 16:06
I wasn't trying to answer your question. I was just pointing out a bug in your code.
– Galik
Nov 20 at 16:18
I wasn't trying to answer your question. I was just pointing out a bug in your code.
– Galik
Nov 20 at 16:18
You've changed the code so now the problem description and error messages no longer make sense.
– Blastfurnace
Nov 20 at 16:35
You've changed the code so now the problem description and error messages no longer make sense.
– Blastfurnace
Nov 20 at 16:35
Unrelated note about the tag visual-studio. If you read the description, it says DO NOT use this tag on questions regarding code which merely happened to be written in Visual Studio., so it should not be used in this question. Similar applies to the Linux and Windows tags.
– Richardissimo
Nov 21 at 21:19
Unrelated note about the tag visual-studio. If you read the description, it says DO NOT use this tag on questions regarding code which merely happened to be written in Visual Studio., so it should not be used in this question. Similar applies to the Linux and Windows tags.
– Richardissimo
Nov 21 at 21:19
add a comment |
2 Answers
2
active
oldest
votes
up vote
1
down vote
Your problem is with
output.write(dataShiftLeft, sizeof(data));
std::ostream::write
takes a const char*
and you provide a valarray<char>
, that's why the compiler complains.
You need to iterate over the valarray
and write the elements one by one:
for (auto c : dataShiftLeft) output << c;
But I'm confident that you would be better off with a std::array
and the std::rotate
algorithm, along those lines:
std::array<char, 1024> buffer;
// ...
file.read(buffer.data(), buffer.size());
auto trailing_zeros = std::rotate(buffer.begin(), std::next(buffer.begin(), 1), buffer.end()); // or
std::fill(trailing_zeros, buffer.end(), 0);
Showing the example reworked withstd::array
andstd::rotate
would be helpful.
– Peter Ruderman
Nov 20 at 16:07
shift diferent with rotate. shift involve element in bit. not element position.
– user10681144
Nov 20 at 16:16
1
@edwardjoe: en.cppreference.com/w/cpp/numeric/valarray/shift: "Returns a new valarray of the same size with elements whose positions are shifted by count elements"
– papagaga
Nov 20 at 16:18
how to revert it back after rotate? i want to make simple encryption and decryption file.
– user10681144
Nov 20 at 16:19
@papagaga thank, i don't read the description. i think rotate ways same. how to revert it back says i rotate it 1. is it just put -1 for revert back?
– user10681144
Nov 20 at 16:22
|
show 7 more comments
up vote
0
down vote
With follow body of your CaesarCipher
function should do the trick.
ifstream file(i_inputFilePath, ios::binary);
if (!file) {
cout << "file is no existn";
return;
}
std::array<char, 1024> buffer;
if (shift < 0) {
shift = -shift;
shift %= buffer.size();
shift = buffer.size() - shift;
} else {
shift %= buffer.size();
}
ofstream output(o_outputFilePath, std::ios_base::binary);
while (file.read(buffer.data(), buffer.size()) {
std::rotate(begin(buffer), std::next(begin(buffer), shift), end(buffer));
output.write(buffer.data(), buffer.size());
}
But I'd like to add that this does not look like a Caesar cipher function since you are to shift the individual characters within the defined alaphbet.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53396779%2fhow-to-shift-array-and-output-to-ofstream-write%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
Your problem is with
output.write(dataShiftLeft, sizeof(data));
std::ostream::write
takes a const char*
and you provide a valarray<char>
, that's why the compiler complains.
You need to iterate over the valarray
and write the elements one by one:
for (auto c : dataShiftLeft) output << c;
But I'm confident that you would be better off with a std::array
and the std::rotate
algorithm, along those lines:
std::array<char, 1024> buffer;
// ...
file.read(buffer.data(), buffer.size());
auto trailing_zeros = std::rotate(buffer.begin(), std::next(buffer.begin(), 1), buffer.end()); // or
std::fill(trailing_zeros, buffer.end(), 0);
Showing the example reworked withstd::array
andstd::rotate
would be helpful.
– Peter Ruderman
Nov 20 at 16:07
shift diferent with rotate. shift involve element in bit. not element position.
– user10681144
Nov 20 at 16:16
1
@edwardjoe: en.cppreference.com/w/cpp/numeric/valarray/shift: "Returns a new valarray of the same size with elements whose positions are shifted by count elements"
– papagaga
Nov 20 at 16:18
how to revert it back after rotate? i want to make simple encryption and decryption file.
– user10681144
Nov 20 at 16:19
@papagaga thank, i don't read the description. i think rotate ways same. how to revert it back says i rotate it 1. is it just put -1 for revert back?
– user10681144
Nov 20 at 16:22
|
show 7 more comments
up vote
1
down vote
Your problem is with
output.write(dataShiftLeft, sizeof(data));
std::ostream::write
takes a const char*
and you provide a valarray<char>
, that's why the compiler complains.
You need to iterate over the valarray
and write the elements one by one:
for (auto c : dataShiftLeft) output << c;
But I'm confident that you would be better off with a std::array
and the std::rotate
algorithm, along those lines:
std::array<char, 1024> buffer;
// ...
file.read(buffer.data(), buffer.size());
auto trailing_zeros = std::rotate(buffer.begin(), std::next(buffer.begin(), 1), buffer.end()); // or
std::fill(trailing_zeros, buffer.end(), 0);
Showing the example reworked withstd::array
andstd::rotate
would be helpful.
– Peter Ruderman
Nov 20 at 16:07
shift diferent with rotate. shift involve element in bit. not element position.
– user10681144
Nov 20 at 16:16
1
@edwardjoe: en.cppreference.com/w/cpp/numeric/valarray/shift: "Returns a new valarray of the same size with elements whose positions are shifted by count elements"
– papagaga
Nov 20 at 16:18
how to revert it back after rotate? i want to make simple encryption and decryption file.
– user10681144
Nov 20 at 16:19
@papagaga thank, i don't read the description. i think rotate ways same. how to revert it back says i rotate it 1. is it just put -1 for revert back?
– user10681144
Nov 20 at 16:22
|
show 7 more comments
up vote
1
down vote
up vote
1
down vote
Your problem is with
output.write(dataShiftLeft, sizeof(data));
std::ostream::write
takes a const char*
and you provide a valarray<char>
, that's why the compiler complains.
You need to iterate over the valarray
and write the elements one by one:
for (auto c : dataShiftLeft) output << c;
But I'm confident that you would be better off with a std::array
and the std::rotate
algorithm, along those lines:
std::array<char, 1024> buffer;
// ...
file.read(buffer.data(), buffer.size());
auto trailing_zeros = std::rotate(buffer.begin(), std::next(buffer.begin(), 1), buffer.end()); // or
std::fill(trailing_zeros, buffer.end(), 0);
Your problem is with
output.write(dataShiftLeft, sizeof(data));
std::ostream::write
takes a const char*
and you provide a valarray<char>
, that's why the compiler complains.
You need to iterate over the valarray
and write the elements one by one:
for (auto c : dataShiftLeft) output << c;
But I'm confident that you would be better off with a std::array
and the std::rotate
algorithm, along those lines:
std::array<char, 1024> buffer;
// ...
file.read(buffer.data(), buffer.size());
auto trailing_zeros = std::rotate(buffer.begin(), std::next(buffer.begin(), 1), buffer.end()); // or
std::fill(trailing_zeros, buffer.end(), 0);
edited Nov 20 at 16:24
answered Nov 20 at 16:06
papagaga
482311
482311
Showing the example reworked withstd::array
andstd::rotate
would be helpful.
– Peter Ruderman
Nov 20 at 16:07
shift diferent with rotate. shift involve element in bit. not element position.
– user10681144
Nov 20 at 16:16
1
@edwardjoe: en.cppreference.com/w/cpp/numeric/valarray/shift: "Returns a new valarray of the same size with elements whose positions are shifted by count elements"
– papagaga
Nov 20 at 16:18
how to revert it back after rotate? i want to make simple encryption and decryption file.
– user10681144
Nov 20 at 16:19
@papagaga thank, i don't read the description. i think rotate ways same. how to revert it back says i rotate it 1. is it just put -1 for revert back?
– user10681144
Nov 20 at 16:22
|
show 7 more comments
Showing the example reworked withstd::array
andstd::rotate
would be helpful.
– Peter Ruderman
Nov 20 at 16:07
shift diferent with rotate. shift involve element in bit. not element position.
– user10681144
Nov 20 at 16:16
1
@edwardjoe: en.cppreference.com/w/cpp/numeric/valarray/shift: "Returns a new valarray of the same size with elements whose positions are shifted by count elements"
– papagaga
Nov 20 at 16:18
how to revert it back after rotate? i want to make simple encryption and decryption file.
– user10681144
Nov 20 at 16:19
@papagaga thank, i don't read the description. i think rotate ways same. how to revert it back says i rotate it 1. is it just put -1 for revert back?
– user10681144
Nov 20 at 16:22
Showing the example reworked with
std::array
and std::rotate
would be helpful.– Peter Ruderman
Nov 20 at 16:07
Showing the example reworked with
std::array
and std::rotate
would be helpful.– Peter Ruderman
Nov 20 at 16:07
shift diferent with rotate. shift involve element in bit. not element position.
– user10681144
Nov 20 at 16:16
shift diferent with rotate. shift involve element in bit. not element position.
– user10681144
Nov 20 at 16:16
1
1
@edwardjoe: en.cppreference.com/w/cpp/numeric/valarray/shift: "Returns a new valarray of the same size with elements whose positions are shifted by count elements"
– papagaga
Nov 20 at 16:18
@edwardjoe: en.cppreference.com/w/cpp/numeric/valarray/shift: "Returns a new valarray of the same size with elements whose positions are shifted by count elements"
– papagaga
Nov 20 at 16:18
how to revert it back after rotate? i want to make simple encryption and decryption file.
– user10681144
Nov 20 at 16:19
how to revert it back after rotate? i want to make simple encryption and decryption file.
– user10681144
Nov 20 at 16:19
@papagaga thank, i don't read the description. i think rotate ways same. how to revert it back says i rotate it 1. is it just put -1 for revert back?
– user10681144
Nov 20 at 16:22
@papagaga thank, i don't read the description. i think rotate ways same. how to revert it back says i rotate it 1. is it just put -1 for revert back?
– user10681144
Nov 20 at 16:22
|
show 7 more comments
up vote
0
down vote
With follow body of your CaesarCipher
function should do the trick.
ifstream file(i_inputFilePath, ios::binary);
if (!file) {
cout << "file is no existn";
return;
}
std::array<char, 1024> buffer;
if (shift < 0) {
shift = -shift;
shift %= buffer.size();
shift = buffer.size() - shift;
} else {
shift %= buffer.size();
}
ofstream output(o_outputFilePath, std::ios_base::binary);
while (file.read(buffer.data(), buffer.size()) {
std::rotate(begin(buffer), std::next(begin(buffer), shift), end(buffer));
output.write(buffer.data(), buffer.size());
}
But I'd like to add that this does not look like a Caesar cipher function since you are to shift the individual characters within the defined alaphbet.
add a comment |
up vote
0
down vote
With follow body of your CaesarCipher
function should do the trick.
ifstream file(i_inputFilePath, ios::binary);
if (!file) {
cout << "file is no existn";
return;
}
std::array<char, 1024> buffer;
if (shift < 0) {
shift = -shift;
shift %= buffer.size();
shift = buffer.size() - shift;
} else {
shift %= buffer.size();
}
ofstream output(o_outputFilePath, std::ios_base::binary);
while (file.read(buffer.data(), buffer.size()) {
std::rotate(begin(buffer), std::next(begin(buffer), shift), end(buffer));
output.write(buffer.data(), buffer.size());
}
But I'd like to add that this does not look like a Caesar cipher function since you are to shift the individual characters within the defined alaphbet.
add a comment |
up vote
0
down vote
up vote
0
down vote
With follow body of your CaesarCipher
function should do the trick.
ifstream file(i_inputFilePath, ios::binary);
if (!file) {
cout << "file is no existn";
return;
}
std::array<char, 1024> buffer;
if (shift < 0) {
shift = -shift;
shift %= buffer.size();
shift = buffer.size() - shift;
} else {
shift %= buffer.size();
}
ofstream output(o_outputFilePath, std::ios_base::binary);
while (file.read(buffer.data(), buffer.size()) {
std::rotate(begin(buffer), std::next(begin(buffer), shift), end(buffer));
output.write(buffer.data(), buffer.size());
}
But I'd like to add that this does not look like a Caesar cipher function since you are to shift the individual characters within the defined alaphbet.
With follow body of your CaesarCipher
function should do the trick.
ifstream file(i_inputFilePath, ios::binary);
if (!file) {
cout << "file is no existn";
return;
}
std::array<char, 1024> buffer;
if (shift < 0) {
shift = -shift;
shift %= buffer.size();
shift = buffer.size() - shift;
} else {
shift %= buffer.size();
}
ofstream output(o_outputFilePath, std::ios_base::binary);
while (file.read(buffer.data(), buffer.size()) {
std::rotate(begin(buffer), std::next(begin(buffer), shift), end(buffer));
output.write(buffer.data(), buffer.size());
}
But I'd like to add that this does not look like a Caesar cipher function since you are to shift the individual characters within the defined alaphbet.
answered Nov 20 at 17:45
Bo R
616110
616110
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53396779%2fhow-to-shift-array-and-output-to-ofstream-write%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Worth reading regarding
while(!file.eof())
: stackoverflow.com/questions/5605125/…– Galik
Nov 20 at 16:01
@Galik i don't problem with the read in chunk file. i already test it in my project. the problem how to shift data from file read and write it.
– user10681144
Nov 20 at 16:06
I wasn't trying to answer your question. I was just pointing out a bug in your code.
– Galik
Nov 20 at 16:18
You've changed the code so now the problem description and error messages no longer make sense.
– Blastfurnace
Nov 20 at 16:35
Unrelated note about the tag visual-studio. If you read the description, it says DO NOT use this tag on questions regarding code which merely happened to be written in Visual Studio., so it should not be used in this question. Similar applies to the Linux and Windows tags.
– Richardissimo
Nov 21 at 21:19