一个基本事实,scanf是在stdio.h里面的,这是一个标准的c函数。
这已经和objective-c没有什么关系了,其实objc里面也没有scanf这个函数。唯一不同的只是objc比swift更容易和c结合。
swift从诞生开始的形象就是“去c化”,objc一直沾染着c,而又离现代编程语言太远。
其实我从来没有在Cocoa的环境下用过这个函数。
这已经和objective-c没有什么关系了,其实objc里面也没有scanf这个函数。唯一不同的只是objc比swift更容易和c结合。
swift从诞生开始的形象就是“去c化”,objc一直沾染着c,而又离现代编程语言太远。
其实我从来没有在Cocoa的环境下用过这个函数。
Cocoa的定位(Swift和oc一样也是纯粹为Cocoa服务的)是让你写GUI,也就是图形用户界面。
上面说的都是语言层面的问题,我认为这个问题其实是不存在的。下面是解决方案
1、使用NSFileHandle的fileHandleWithStandardInput
这个是完全和objc一模一样的用法
2、写一个bridging header
其实在swift里面用c也不是那么的困难,你只需要一个.h
上面说的都是语言层面的问题,我认为这个问题其实是不存在的。下面是解决方案
1、使用NSFileHandle的fileHandleWithStandardInput
这个是完全和objc一模一样的用法
2、写一个bridging header
其实在swift里面用c也不是那么的困难,你只需要一个.h
let input = String(data: FileHandle.standardInput.availableData,encoding: String.Encoding.utf8) if let str = input { let index = str.index(str.endIndex,offsetBy: -1) //去掉最后一个换行符 print(str.substring(to: index)) }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。