On 2016-05-30 10:00, swift-users-requ...@swift.org wrote:
Send swift-users mailing list submissions to
        swift-users@swift.org

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.swift.org/mailman/listinfo/swift-users
or, via email, send a message with subject or body 'help' to
        swift-users-requ...@swift.org

You can reach the person managing the list at
        swift-users-ow...@swift.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of swift-users digest..."


Today's Topics:

   1. Re: Simple text file I/O with Swift 3 (Quinn "The Eskimo!")


----------------------------------------------------------------------

Message: 1
Date: Mon, 30 May 2016 09:11:41 +0100
From: "Quinn \"The Eskimo!\"" <eski...@apple.com>
To: Swift Users List <swift-users@swift.org>
Subject: Re: [swift-users] Simple text file I/O with Swift 3
Message-ID: <d94a5001-be92-44fb-adb8-ce0d68e62...@apple.com>
Content-Type: text/plain; charset=us-ascii


On 28 May 2016, at 19:05, Ken Burgett via swift-users
<swift-users@swift.org> wrote:

print(buf)


The trick here is to replace the above line with:

    print(String(validatingUTF8: buf))

`fgets` sets up `buf` to hold a C string, so you have to convert it to
a Swift string.  How do you do this depends on the encoding of the
bytes.  If you expect the C string to be UTF-8, then
`String(validatingUTF8:)` is the way to go.

IMPORTANT: This conversion can fail, which is why the above will print
a bunch of optional strings, and you will have to decide what to your
program should do when it does.

                   *                   *                   *

btw This question came up recently.  See the thread for other
suggestions about how to handle it.

<http://article.gmane.org/gmane.comp.lang.swift.user/1943>

Share and Enjoy
--
Quinn "The Eskimo!" <http://www.apple.com/developer/> Apple Developer Relations, Developer Technical Support, Core OS/Hardware




------------------------------

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users


End of swift-users Digest, Vol 6, Issue 28
******************************************
Hi Quinn,

Thanks for the tip on print(String(validatingUTF8: buf)), that does reproduce my input text, line for line, EXCEPT for wrapping every line in "Optional(line-of-text-with-terminator)", for example "Optional("import Glibc\n")".

So, how does wrapping a line of UTF8 text in another character string "Optional()" help me print the text? Is Optional() some kind of function? If so, how is it intended to be used?

--
Ken Burgett
Principal Software Engineer
Email: k...@iotone.io
Office: 530.693.4449
Mobile: 831.332.6846
URL: www.iotone.co
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to