On 9 November 2016 at 07:49, Dimitris Chloupis <kilon.al...@gmail.com> wrote:
> Not in C but there std::string in C++ similar to our String object. > > Strictly speaking , std::string is again not part of C++ per se, it comes from library that implements such class. > C char indeed is more a byte array than a string. Actually C won't allow > to change the string value mainly because it thinks you try to change the > size which something that is not allowed for arrays anyway, so the only way > to change a char string aka char array is character by character. > > Null termination is why I filled the shared memory with zeros to be on the > safe side and then added the string and the number on top > > just wanted to warn you, to make sure you understand that char[100] is not string, not in C , not in C++. And, of course, it should not autoconvert to smalltalk String object(s) in FFI, because many C coders use 'char' as a default data type to operate with buffers of certain length and to count their size in bytes. > On Wed, 9 Nov 2016 at 03:41, Igor Stasenko <siguc...@gmail.com> wrote: > >> What i meant, i wanted to warn Dimitris that >> char[100] >> are just array of 100 characters (bytes in C).. and has nothing to do >> with strings. >> Do not confuse fixed-length C arrays with strings. There's no 'string' >> data type in C, and instead they use null-terminated character sequence as >> a convention. But it is not a fixed-size data. >> >> On 9 November 2016 at 02:38, Igor Stasenko <siguc...@gmail.com> wrote: >> >> >> >> On 8 November 2016 at 14:42, Esteban Lorenzano <esteba...@gmail.com> >> wrote: >> >> (always with Char100 example in mind): >> >> s := MyStructure fromHandle: blah. >> string := s data readString. >> >> should work. >> >> >> IIRC, #readString works correctly only for correctly null-terminated >> strings. If not, it will read beyond the structure size , until it find a >> zero byte somewhere in memory, >> and thus, results may vary :) >> >> >> Esteban >> >> >> > On 8 Nov 2016, at 14:31, Dimitris Chloupis <kilon.al...@gmail.com> >> wrote: >> > >> > I feel like stupid but I cannot find a way to convert an Array of >> Characters to a String , I can do with a do: and join characters converted >> to strings to a single string but it feels too many steps. >> > >> > Is there a simpler way ? >> >> >> >> >> >> -- >> Best regards, >> Igor Stasenko. >> >> >> >> >> -- >> Best regards, >> Igor Stasenko. >> > -- Best regards, Igor Stasenko.