搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 求助:词频统计方法,从文件中读取字符串问题!
标题:
求助:词频统计方法,从文件中读取字符串问题!
只看楼主
千i丶羽o
等 级:
新手上路
帖 子:18
专家分:5
注 册:2010-12-13
结帖率:
60%
楼主
已结贴
√
问题点数:20 回复次数:4
求助:词频统计方法,从文件中读取字符串问题!
用fscasnf()读取文件中的数据时,用什么方法不具体限定字符串长度,二十通过判断回车来觉得读入的字符串长度!
比如说文件内容如下:
第一行 生的DAF……%生法 对方身份 &*到底4的
第二行 大开发……#是啊发1221发生
.
.
.
.
.
最后一行:方式打法090飞逝34%@#%*&地方
目的:读取文件,统计文件中的汉字个数!并去掉其他字符(如特殊字符数字等等,)
方法:一行一行的读,删去每行的特殊符号和数字!
搜索更多相关主题的帖子:
特殊符号
特殊字符
字符串
汉字
统计
2011-03-11 10:41
千i丶羽o
等 级:
新手上路
帖 子:18
专家分:5
注 册:2010-12-13
第
2
楼
得分:0
再加深一下!统计词语的词频(相同词语出现的个数并打印)!不是汉字!又如何统计
文件如下
第一行:无语\N 统筹(流行)楚天、V
第二行:.......
.
.
.
..
最后一行:......................
2011-03-11 10:44
新手写程序
等 级:
论坛游侠
帖 子:62
专家分:120
注 册:2011-3-5
第
3
楼
得分:0
#include <locale.h>
char *setlocale(int category, const char *locale);
这是设置当前的字符集合
比如在linux下你可以设成"zh_CN.UTF-8";Mic window 你就查一下
这样你就可以输入中文进入wchar_t里面去了
然后就是一般的字符操作了来操作中文了
一个简单的输入中文的小例子
#include <stdio.h>
#include <locale.h>
#include <wchar.h>
int main(){
wchar_t wch[1000];
char * locname = NULL;
locname = setlocale(LC_ALL, "zh_CN.UTF-8");
fgetws(wch, sizeof wch, stdin);
printf("%ls\n", wch);
return 0;
}
2011-03-11 11:50
rjsp
等 级:
版主
威 望:
507
帖 子:8890
专家分:53117
注 册:2011-1-18
第
4
楼
得分:20
“过判断回车来觉得读入的字符串长度”
--- fgets,如果行结束了,那么最后是个\n,否则不是。
“一行一行的读,删去每行的特殊符号和数字!”
--- 这种方法真烂,如果我来做,就4k为一个块的读取,然后处理,将尾部留下的暂时还不能处理的归到第二次中。
例如
char buf[4k+1];
fread( buf+1, 4k );
从buf+1开始处理
if( buf[4k] 能处理 )
{
读入下一个4k块至buf+1
从buf+1开始处理
}
else
{
buf[0] = buf[4k];
读入下一个4k块至buf+1
从buf+0开始处理
}
2011-03-11 12:48
千i丶羽o
等 级:
新手上路
帖 子:18
专家分:5
注 册:2010-12-13
第
5
楼
得分:0
回复 4楼 rjsp
恩,我是新手,能在具体些么?多谢啦
1)fgets()字符输入不是有限制么?有个格式fgets(str,n,fp);
意思是从fp所指的文件中读出n-1个字符,送人字符串str中。你说的判断'\n'的那个具体怎么用啊!希望具体说说。
2)你说的4k为一块值得是4个字符为一组去判定么?fread()的用法我查了资料也没弄清楚!也请具体说说
[
本帖最后由 千i丶羽o 于 2011-3-11 15:26 编辑
]
2011-03-11 15:14
5
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-333809-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.979405 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved