hallo zusammen,
ich muss einen string splitten, welcher aus 20 bytes besteht, aber man nur 16 byte in eine line schreiben kann.
also müssen 4 byte in die nächste zeile.
zudem muss nach jeweils einem byte( also zwei zeichen) ein leerzeichen erfolgen.
wie genau kann man das anstellen?
so soll es dann aussehen, als beispiel:
/usr/apps/modifyE2P w 2b0 c7 49 15 9b c7 d0 d0 c7 9b ea 9b 73 38 49 b6 38
vielen dank und viele grüße
string splitten und nach jeweils einem byte ein leerzeichen
-
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: string splitten und nach jeweils einem byte ein leerzeichen
Erstmal selbst überlegen wäre ein Anfang.
QString / QByteArray und dort die z.B. die mid() - Funktion sollten helfen.
QString / QByteArray und dort die z.B. die mid() - Funktion sollten helfen.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Re: string splitten und nach jeweils einem byte ein leerzeichen
// Write header
tsWrite << "# RMKHASH";
QString rmkhashlist = m_funcList[7];
QString newString = QString( "" );
//QString rmkhashlist2 = m_funcList[7];
for( int i = 0; i < rmkhashlist.count( ); i++ )
{
if( i % 2 == 0 && i > 0 && i % 32 != 0 )
{
newString += C_BLANK;
}
else if ( i % 32 == 0 )
{
newString += EC_LF;
}
newString += rmkhashlist[ i ];
}
// // Write rmkhash e2p command to output file
tsWrite << EC_LF << C_R_MIB_E2P_W % "484 " << newString;
tsWrite << C_R_MIB_E2P_W % "494 " << newString << EC_LF;
hab das schon, aber dann schreibt er das:
/usr/apps/modifyE2P w 484
4e 6d 71 0e be a1 23 0e a6 4b e7 c9 46 f4 de 9a
32 b6 2d /usr/apps/modifyE2P w 494
4e 6d 71 0e be a1 23 0e a6 4b e7 c9 46 f4 de 9a
32 b6 2d f
/usr/apps/modifyE2P w 494
4e 6d 71 0e be a1 23 0e a6 4b e7 c9 46 f4 de 9a
32 b6 2d f0
aber ich will ja stehen haben:
/usr/apps/modifyE2P w 484 dann 16 byte
/usr/apps/modifyE2P w 494 hier 4 byte
tsWrite << "# RMKHASH";
QString rmkhashlist = m_funcList[7];
QString newString = QString( "" );
//QString rmkhashlist2 = m_funcList[7];
for( int i = 0; i < rmkhashlist.count( ); i++ )
{
if( i % 2 == 0 && i > 0 && i % 32 != 0 )
{
newString += C_BLANK;
}
else if ( i % 32 == 0 )
{
newString += EC_LF;
}
newString += rmkhashlist[ i ];
}
// // Write rmkhash e2p command to output file
tsWrite << EC_LF << C_R_MIB_E2P_W % "484 " << newString;
tsWrite << C_R_MIB_E2P_W % "494 " << newString << EC_LF;
hab das schon, aber dann schreibt er das:
/usr/apps/modifyE2P w 484
4e 6d 71 0e be a1 23 0e a6 4b e7 c9 46 f4 de 9a
32 b6 2d /usr/apps/modifyE2P w 494
4e 6d 71 0e be a1 23 0e a6 4b e7 c9 46 f4 de 9a
32 b6 2d f
/usr/apps/modifyE2P w 494
4e 6d 71 0e be a1 23 0e a6 4b e7 c9 46 f4 de 9a
32 b6 2d f0
aber ich will ja stehen haben:
/usr/apps/modifyE2P w 484 dann 16 byte
/usr/apps/modifyE2P w 494 hier 4 byte
Re: string splitten und nach jeweils einem byte ein leerzeichen
ich würde vorschlagen z.B. sich ein bisschen gründlicher mit QString zu beschäftigen, das wäre
wie ermittele die Länge eines Strings?
wie stelle fest wo das erste Leerzeichen ist?
wie fügen ich ein Leerteichen in ein String ein?
u.s.w.
wenn du das hast, dann kannst du auch deine Probleme selber lösen.
Bei weiteren Fragen ähnlich wie oben verfahren.
wie ermittele die Länge eines Strings?
wie stelle fest wo das erste Leerzeichen ist?
wie fügen ich ein Leerteichen in ein String ein?
u.s.w.
wenn du das hast, dann kannst du auch deine Probleme selber lösen.
Bei weiteren Fragen ähnlich wie oben verfahren.