![]() |
Convert string to binary
I want to read a file then save it's binary data as a .txt with one's and
zero's representing the actual file's bits. So it could be later reconstructed from that txt file. As of yet, I read the file into a string. I've tried something with bitset but I can't seem to have it read a string. |
Re: Convert string to binary
On Mon, 31 Jan 2005 03:14:12 +0100 in comp.lang.c++, Matej Barac
<matej.barac@gmail.com> wrote, >I want to read a file then save it's binary data as a .txt with one's and >zero's representing the actual file's bits. So it could be later >reconstructed from that txt file. As of yet, I read the file into a string. > >I've tried something with bitset but I can't seem to have it read a string. What happened when you tried? Where is your code? This issue is covered in Marshall Cline's C++ FAQ. See the topic "[5.8] How do I post a question about code that doesn't work correctly?" It is always good to check the FAQ before posting. You can get the FAQ at: http://www.parashift.com/c++-faq-lite/ Compare: #include <iostream> #include <iterator> #include <bitset> using namespace std; int main() { std::copy(istream_iterator<char>(cin), istream_iterator<char>(), ostream_iterator<bitset<8> >(cout, "\n")); } |
Re: Convert string to binary
On Mon, 31 Jan 2005 02:30:26 GMT, David Harmon wrote:
> On Mon, 31 Jan 2005 03:14:12 +0100 in comp.lang.c++, Matej Barac > <matej.barac@gmail.com> wrote, >>I want to read a file then save it's binary data as a .txt with one's and >>zero's representing the actual file's bits. So it could be later >>reconstructed from that txt file. As of yet, I read the file into a string. >> >>I've tried something with bitset but I can't seem to have it read a string. > > What happened when you tried? > Where is your code? > > This issue is covered in Marshall Cline's C++ FAQ. See the topic > "[5.8] How do I post a question about code that doesn't work > correctly?" It is always good to check the FAQ before posting. You > can get the FAQ at: > http://www.parashift.com/c++-faq-lite/ > > Compare: > > #include <iostream> > #include <iterator> > #include <bitset> > using namespace std; > int main() > { > std::copy(istream_iterator<char>(cin), > istream_iterator<char>(), > ostream_iterator<bitset<8> >(cout, "\n")); > } Sorry, but as I said I don't have any (working) code except the read/write file part. I have some trouble with turning a string into a bitset. Shouldn't the below work? string input; // read from input file bitset<10> bit((string) input); cout << bit; Compiles but produces a runtime error. |
Re: Convert string to binary
David Harmon wrote:
> std::copy(istream_iterator<char>(cin), > istream_iterator<char>(), > ostream_iterator<bitset<8> >(cout, "\n")); Note that this will remove whitespaces or, more precisely, the bits representing them: 'std::istream_iterator<T>' uses the formatted input operations to read the data. By default, the formatted input functions skip leading whitespace, even if they just read a single character. Also, there is no guarantee that 'char' has exactly 8 bits: the standard only guarantees that it has at least 8 bits. You might want to use this instead: /**/ std::copy(std::istreambuf_iterator<char>(std::cin) ), /**/ std::istreambuf_iterator<char>(), /**/ std::ostream_iterator< /**/ std::bitset<std::numeric_limits<char>::digits> /**/ >(std::cout, "\n")); -- <mailto:dietmar_kuehl@yahoo.com> <http://www.dietmar-kuehl.de/> <http://www.contendix.com> - Software Development & Consulting |
Re: Convert string to binary
On Mon, 31 Jan 2005 04:33:29 +0100 in comp.lang.c++, Matej Barac
<matej.barac@gmail.com> wrote, >Shouldn't the below work? > >string input; // read from input file >bitset<10> bit((string) input); >cout << bit; A string is a sequence of characters. You want to convert the characters one by one, not the whole string at once. //(E.g. Using a clunky loop instead of std::copy) for(int i=0; i<input.size(); ++i) { cout << bitset<8>(input[i]) << '\n'; } |
| All times are GMT. The time now is 02:20 AM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.