C语言或OC或C++ 中英文混合的文件读取前3个字符怎么做?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

C语言或OC或C++ 中英文混合的文件读取前3个字符怎么做?

2016-06-07 19:39:53 1853 1

1.txt 文件内容: 你好a,我是千叶!
期望结果: 你好a

#include <stdio.h>                                                                                                                                                                                                                          
main()                                                                                                                                                                                                                                      
{                                                                                                                                                                                                                                           
FILE *fp;                                                                                                                                                                                                                                   
fp=fopen("1.txt","r");                                                                                                                                                                                                                      
char x[1000];                                                                                                                                                                                                                               
fread(x,sizeof(char),7,fp);   //length=7,对于现在的1.txt结果正确,如果1.txt变成纯中文的文件,第三个汉字就会被截断,请问要怎么处理呢?                                                                                                                                                                                                             
printf("%s",x);                                                                                                                                                                                                                             
}                 
====================================================================================

我的场景是文件比较大,不太想把整个文件读取到NSData或者NSString,所以希望NSData读取部分数据,再转化成NSString,于是就遇到了中文字符截取出现问题的情况。看了大家的回答,发现这个问题可能是个伪命题,毕竟文件的偏移是按字节算的不会去考虑文件字符编码。

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:30:52

    提供个思路:

    读取文件,你必须知道字符编码
    生成NSString 对象,NSString 有个初始化方法是initWithData:encoding:,然后 NSData 有个初始化方法是dataWithContentsOfFile:
    确保步轴2 正常生成对象后,调用 NSString 的成员方法:substringWithRange:进行截取
    希望能帮到lz

    0 0
相关问答

5

回答

c语言转移字符的问题?

2016-03-23 11:02:43 2410浏览量 回答数 5

1

回答

c语言 指针初始化的问题?报错

2020-06-07 16:15:52 281浏览量 回答数 1

1

回答

c语言用指针写选择法排序函数

2018-07-17 12:27:03 4538浏览量 回答数 1

1

回答

C语言声明结构的指针的问题。

2016-06-07 19:49:27 1672浏览量 回答数 1

1

回答

C语言指针传值和传地址问题

2016-06-06 09:46:05 1687浏览量 回答数 1

1

回答

Kafka中查看分区.index文件的代码是什么?

2021-12-10 16:46:36 93浏览量 回答数 1

1

回答

Kafka中查看log文件的代码是什么?

2021-12-10 16:47:12 122浏览量 回答数 1

1

回答

hadoop中将sample写入分区文件的代码是什么?

2021-12-05 15:24:03 126浏览量 回答数 1

1

回答

RequestId: C14F01AC-A3A1-4D07-A220-26B0285EB3CB

2019-01-26 19:39:41 347浏览量 回答数 1

1

回答

在安卓的webview中,动态添加iframe,地址是虚拟的,会跳转到404页面

2016-06-23 15:54:23 2254浏览量 回答数 1
+关注
0
文章
14879
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载