how to convert QByteArray to Array in qt?
up vote
-4
down vote
favorite
i have a QByteArray variable like this:
QByteArray read= port->readAll();
now i want convert read to Array for write binary file like this:
int b = {}; // lengh of array is port->readAll() size
QFile myFile("e:/test/test.dat");
if(!myFile.open(QIODevice::WriteOnly))return;
myFile.write((char*)b,sizeof(int));
myFile.flush();
myFile.close();
c++ qt qbytearray
|
show 1 more comment
up vote
-4
down vote
favorite
i have a QByteArray variable like this:
QByteArray read= port->readAll();
now i want convert read to Array for write binary file like this:
int b = {}; // lengh of array is port->readAll() size
QFile myFile("e:/test/test.dat");
if(!myFile.open(QIODevice::WriteOnly))return;
myFile.write((char*)b,sizeof(int));
myFile.flush();
myFile.close();
c++ qt qbytearray
1
Why can't you usedata()
for that - do you need it to outlive theQByteArray
, or is there another reason? BTW, I really wouldn't use the nameread
for a variable - too similar to popular library or system call names.
– Toby Speight
Nov 22 at 16:34
my problem is convert QByteArray to Array.
– jocker fantom
Nov 22 at 16:39
2
Why do you need to, given that you can access the contents of theQByteArray
for purposes such as the code you show? It's not at all obvious what you're trying to do that's not achieved bymyFile.write(read.data(), sizeof (int))
. Or, if you meant to write the whole array,myFile.write(read.data(), read.size())
or equivalently, justmyFile.write(read)
.
– Toby Speight
Nov 22 at 16:43
i hav to read all data from modem: QByteArray read= port->readAll(); and write it
– jocker fantom
Nov 22 at 16:51
So why can't you just pass theQByteArray
toQFile::write()
as I've shown? It's still unclear why that won't work for you.
– Toby Speight
Nov 22 at 16:56
|
show 1 more comment
up vote
-4
down vote
favorite
up vote
-4
down vote
favorite
i have a QByteArray variable like this:
QByteArray read= port->readAll();
now i want convert read to Array for write binary file like this:
int b = {}; // lengh of array is port->readAll() size
QFile myFile("e:/test/test.dat");
if(!myFile.open(QIODevice::WriteOnly))return;
myFile.write((char*)b,sizeof(int));
myFile.flush();
myFile.close();
c++ qt qbytearray
i have a QByteArray variable like this:
QByteArray read= port->readAll();
now i want convert read to Array for write binary file like this:
int b = {}; // lengh of array is port->readAll() size
QFile myFile("e:/test/test.dat");
if(!myFile.open(QIODevice::WriteOnly))return;
myFile.write((char*)b,sizeof(int));
myFile.flush();
myFile.close();
c++ qt qbytearray
c++ qt qbytearray
edited Nov 22 at 16:57
Toby Speight
16.2k133965
16.2k133965
asked Nov 22 at 16:27
jocker fantom
82
82
1
Why can't you usedata()
for that - do you need it to outlive theQByteArray
, or is there another reason? BTW, I really wouldn't use the nameread
for a variable - too similar to popular library or system call names.
– Toby Speight
Nov 22 at 16:34
my problem is convert QByteArray to Array.
– jocker fantom
Nov 22 at 16:39
2
Why do you need to, given that you can access the contents of theQByteArray
for purposes such as the code you show? It's not at all obvious what you're trying to do that's not achieved bymyFile.write(read.data(), sizeof (int))
. Or, if you meant to write the whole array,myFile.write(read.data(), read.size())
or equivalently, justmyFile.write(read)
.
– Toby Speight
Nov 22 at 16:43
i hav to read all data from modem: QByteArray read= port->readAll(); and write it
– jocker fantom
Nov 22 at 16:51
So why can't you just pass theQByteArray
toQFile::write()
as I've shown? It's still unclear why that won't work for you.
– Toby Speight
Nov 22 at 16:56
|
show 1 more comment
1
Why can't you usedata()
for that - do you need it to outlive theQByteArray
, or is there another reason? BTW, I really wouldn't use the nameread
for a variable - too similar to popular library or system call names.
– Toby Speight
Nov 22 at 16:34
my problem is convert QByteArray to Array.
– jocker fantom
Nov 22 at 16:39
2
Why do you need to, given that you can access the contents of theQByteArray
for purposes such as the code you show? It's not at all obvious what you're trying to do that's not achieved bymyFile.write(read.data(), sizeof (int))
. Or, if you meant to write the whole array,myFile.write(read.data(), read.size())
or equivalently, justmyFile.write(read)
.
– Toby Speight
Nov 22 at 16:43
i hav to read all data from modem: QByteArray read= port->readAll(); and write it
– jocker fantom
Nov 22 at 16:51
So why can't you just pass theQByteArray
toQFile::write()
as I've shown? It's still unclear why that won't work for you.
– Toby Speight
Nov 22 at 16:56
1
1
Why can't you use
data()
for that - do you need it to outlive the QByteArray
, or is there another reason? BTW, I really wouldn't use the name read
for a variable - too similar to popular library or system call names.– Toby Speight
Nov 22 at 16:34
Why can't you use
data()
for that - do you need it to outlive the QByteArray
, or is there another reason? BTW, I really wouldn't use the name read
for a variable - too similar to popular library or system call names.– Toby Speight
Nov 22 at 16:34
my problem is convert QByteArray to Array.
– jocker fantom
Nov 22 at 16:39
my problem is convert QByteArray to Array.
– jocker fantom
Nov 22 at 16:39
2
2
Why do you need to, given that you can access the contents of the
QByteArray
for purposes such as the code you show? It's not at all obvious what you're trying to do that's not achieved by myFile.write(read.data(), sizeof (int))
. Or, if you meant to write the whole array, myFile.write(read.data(), read.size())
or equivalently, just myFile.write(read)
.– Toby Speight
Nov 22 at 16:43
Why do you need to, given that you can access the contents of the
QByteArray
for purposes such as the code you show? It's not at all obvious what you're trying to do that's not achieved by myFile.write(read.data(), sizeof (int))
. Or, if you meant to write the whole array, myFile.write(read.data(), read.size())
or equivalently, just myFile.write(read)
.– Toby Speight
Nov 22 at 16:43
i hav to read all data from modem: QByteArray read= port->readAll(); and write it
– jocker fantom
Nov 22 at 16:51
i hav to read all data from modem: QByteArray read= port->readAll(); and write it
– jocker fantom
Nov 22 at 16:51
So why can't you just pass the
QByteArray
to QFile::write()
as I've shown? It's still unclear why that won't work for you.– Toby Speight
Nov 22 at 16:56
So why can't you just pass the
QByteArray
to QFile::write()
as I've shown? It's still unclear why that won't work for you.– Toby Speight
Nov 22 at 16:56
|
show 1 more comment
1 Answer
1
active
oldest
votes
up vote
0
down vote
No need to create int b = ..etc
Just use either the method QByteArray::data():
QFile file(...);
QByteArray byteArray = ...
...
file.write(byteArray.data(), byteArray.size());
Or you can set the QByteArray's object directly to file.write():
QFile file(...);
QByteArray byteArray = ...;
file.write(byteArray);
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
No need to create int b = ..etc
Just use either the method QByteArray::data():
QFile file(...);
QByteArray byteArray = ...
...
file.write(byteArray.data(), byteArray.size());
Or you can set the QByteArray's object directly to file.write():
QFile file(...);
QByteArray byteArray = ...;
file.write(byteArray);
add a comment |
up vote
0
down vote
No need to create int b = ..etc
Just use either the method QByteArray::data():
QFile file(...);
QByteArray byteArray = ...
...
file.write(byteArray.data(), byteArray.size());
Or you can set the QByteArray's object directly to file.write():
QFile file(...);
QByteArray byteArray = ...;
file.write(byteArray);
add a comment |
up vote
0
down vote
up vote
0
down vote
No need to create int b = ..etc
Just use either the method QByteArray::data():
QFile file(...);
QByteArray byteArray = ...
...
file.write(byteArray.data(), byteArray.size());
Or you can set the QByteArray's object directly to file.write():
QFile file(...);
QByteArray byteArray = ...;
file.write(byteArray);
No need to create int b = ..etc
Just use either the method QByteArray::data():
QFile file(...);
QByteArray byteArray = ...
...
file.write(byteArray.data(), byteArray.size());
Or you can set the QByteArray's object directly to file.write():
QFile file(...);
QByteArray byteArray = ...;
file.write(byteArray);
answered Nov 23 at 12:06
Alexander Chernin
24117
24117
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%2f53435010%2fhow-to-convert-qbytearray-to-array-in-qt%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
Why can't you use
data()
for that - do you need it to outlive theQByteArray
, or is there another reason? BTW, I really wouldn't use the nameread
for a variable - too similar to popular library or system call names.– Toby Speight
Nov 22 at 16:34
my problem is convert QByteArray to Array.
– jocker fantom
Nov 22 at 16:39
2
Why do you need to, given that you can access the contents of the
QByteArray
for purposes such as the code you show? It's not at all obvious what you're trying to do that's not achieved bymyFile.write(read.data(), sizeof (int))
. Or, if you meant to write the whole array,myFile.write(read.data(), read.size())
or equivalently, justmyFile.write(read)
.– Toby Speight
Nov 22 at 16:43
i hav to read all data from modem: QByteArray read= port->readAll(); and write it
– jocker fantom
Nov 22 at 16:51
So why can't you just pass the
QByteArray
toQFile::write()
as I've shown? It's still unclear why that won't work for you.– Toby Speight
Nov 22 at 16:56