您的位置:首页 > 其它

OC-电子词典的写法

2015-09-20 11:23 295 查看
//

//  main.m

//  电子词典

//

//  Created by apple on 15/9/19.

//  Copyright (c) 2015年 apple. All rights reserved.

//

#import <Foundation/Foundation.h>

#import "NSStringHelper.h"
int main(int argc,
const char * argv[]) {

    @autoreleasepool {

   //
核心逻辑

   //
要求用户输入单词

   //
打印解释

    

  //  1,首先把离线电子词典的内容当做一个巨大的字符串获取过来

        NSString * allWords = [[NSString
alloc]initWithContentsOfFile:@"/Users/apple/Desktop/英汉词典数据-mac版本.txt"
encoding:4
error:nil];

        

 //   2,创建一个可变的字典(键值对)

        

        NSMutableDictionary *dic=[NSMutableDictionary
dictionary];

        

        

 //   3,把获取的大字符串通过“\n”分割成数组的元素并存入数组中

       
       
NSArray *wordList = [allWords
componentsSeparatedByString:@"\n"];

        

//    4,将数组中的每一个元素分割成
单词 与
解释

        
       
for (int i=0; i<wordList.count; ++i) {

            // 4,1
将原来的数组拆分成更小的数组
           
NSArray *keyValuePair = [wordList[i]
componentsSeparatedByString:@"   "];
     

            // 4,2
原来的数组在拆分后,让后面的值赋值前面的键
            dic[keyValuePair.firstObject]=keyValuePair.lastObject;

           
        }
        // 5,
提示用户输入,并显示查询结果
       
while (1) {
           
printf("请输入您要查询的单词\n");
           
NSString *wd=inputNSString();

            
           
if (dic[wd]!=nil) {
               
NSString *explian=dic[wd];
               
printf("%s\n",explian.UTF8String);
            }else{
               
printf("对不起,该词典未收录该词!\n");
            }

            
   
b9ae
    }

        

        

        
    }
   
return 0;
}
======================================================================================

//

//  inputNSString.h

//  

//

//  Created by apple on 15/9/16.

//

//

#ifndef ____inputNSString__

#define ____inputNSString__

#include <stdio.h>

#import <Foundation/Foundation.h>

NSString * inputNSString() ;

#endif /* defined(____inputNSString__) */
 ======================================================================================

//

//  inputNSString.c

//  

//

//  Created by apple on 15/9/16.

//

//

#include "NSStringHelper.h"

NSString * inputNSString() {
   
char input[256];
   
int length = 0;
   
char ch;
    
while ( (ch = getchar()) !=
'\n' ) {

    

//    while ( scanf("%c", &ch), ch != '\n' ) {

    
        input[length++] = ch;
    }

    

    input[length++] = '\0'; 
// 在 C
语言中, 字符串是一个由 \0
结尾的字符序列

    

    return [[NSString
alloc] initWithUTF8String:input];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: