将包含由空格和行分隔的数字矩阵的 txt 文件读取到数组中
我一直在尝试将包含格式化矩阵(9x9)的 txt 文件读取到 int 数组中。用户使用 NSOpenPanel 选择该 txt 文件。
txt 文件示例:
2 7 9 1 6 2 1 1 1
9 1 3 3 4 0 6 8 5
5 3 2 9 3 8 6 7 0
6 0 9 2 5 6 4 8 0
3 2 0 4 0 5 0 6 0
4 0 5 4 0 3 9 0 0
6 4 1 3 2 5 7 2 0
6 5 7 2 1 3 0 9 3
1 0 2 7 5 1 0 0 0
我对 Mac 编程真的很陌生,所以任何帮助将不胜感激。
I've been trying to read a txt file containing a formatted matrix (9x9) into an int array. The txt file is selected by the user using NSOpenPanel.
An example txt file:
2 7 9 1 6 2 1 1 1
9 1 3 3 4 0 6 8 5
5 3 2 9 3 8 6 7 0
6 0 9 2 5 6 4 8 0
3 2 0 4 0 5 0 6 0
4 0 5 4 0 3 9 0 0
6 4 1 3 2 5 7 2 0
6 5 7 2 1 3 0 9 3
1 0 2 7 5 1 0 0 0
I'm really new to mac programming so any help would be greatly appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 Objectice-C 来完成此操作
类似 NSString 和 NSArray 的类
读取一个完整的文件只是
NSString *filesContent = [[NSString alloc] initWithContentsOfFile:@"file.txt"];
然后你可以在空白处分割该数组,例如
NSArray rows = [filesContent elementsSeparatedByString:@"\r\n"];
然后你可以在空白处分割行。
或者你用老式的 C 方式来做。
使用 fopen 打开文件
逐行读取文件
分割线,例如使用 sscanf
并填充一个数组
int arr[9][[9];
伪代码(未经测试,只是为了给您一个想法)
或者您可以混合使用 Objectice-C 和 C 的一些东西。
You can either do it with Objectice-C using
classes loke NSString and NSArray
reading a complete file is just
NSString *filesContent = [[NSString alloc] initWithContentsOfFile:@"file.txt"];
then you can split that array e.g at whitespace with something like
NSArray rows = [filesContent componentsSeparatedByString:@"\r\n"];
then you can split the rows at whitespace.
And or you do it the old faschioned C way.
Opening the file with fopen
reading the file line by line
splitting the line e.g. with sscanf
And filling an Array
int arr[9][[9];
Pseudo Code (not tested, just to give you an idea)
Or you can mix something out of Objectice-C and C.