怎么判断下一个段落的开始
比如,在C语言中我们输入
人的一生,没有谁事事得意,处处风光。告诉自己,淡然一些,看开一点,生活的过程中保持一种平常的心态,淡然而简单,就会愉快。没人知道,痛苦会在哪个时段出现,也没人清楚,烦恼会在哪个地方出现。我们能做的,就是做好自己,我们应做的,就是珍惜拥有。不管今后遭遇多大的困难,不论以后碰到多少的不快,我们都应真诚相处,坦诚相待。
人生在世,没有一种快乐,是专为我们设计的,没有一种痛苦,是单为我们预留的。这个世上有多少种心情,就有多少种开心,有多少种不幸,就有多少种酸痛。大有大的欢欣,小有小的酸心,没有谁能避开伤痛,独享欢欣,也没有谁一世悲痛,没有欢欣。好好善待自己,过去的能忘则忘,眼前的能不计较就放开,未来的不要想得太多。路再长也是会有终点,夜再长也是会有尽头,不管雨下得有多大,总会有停止的时候。沉淀你的心情,去除浮躁,心静自然凉。
指责要留有余地,批评要和风细雨,学会控制自己的情绪,也许,你的生命行走的更加顺利。杂草多了,水流就缓慢,杂念多,脚步就慢了。人是心的口袋,什么都不装时叫心灵,装一点时叫心眼,多装时叫心计,装更多时叫心机,装得太多就叫心事。打人不能打脸,伤人不能伤心,身上的伤易治,心上的痛难医。生活的过程中,我们难免没有争吵,不论争吵的多么厉害,切记不要伤脸。人生的过程中,我们难免意见相左,不论意见多么不同,切记不要伤人。有形的伤口易于医治,无形的伤疤不好治愈,一旦心灵受到伤害,愈合常常是困难的。
这样的三段话,我怎么知道它是进行的下一个段落的读取
我的思路是怎样将\n\n在我的程序中识别出来
[第1段 157个字]
[第2段 205个字]
[第3段 242个字]
#include <ctype.h>
#include <stdio.h>
int main() {
int num_paras = 1, num_words = 0, c;
while ((c = getchar()) != EOF) {
int newlines = 0;
while (isspace(c)) {
if (c == '\n')
newlines++;
c = getchar();
}
if (c == EOF)
break;
if (newlines >= 2) {
printf("[第%d段 %d个字]\n", num_paras, num_words);
num_paras++;
num_words = 0;
}
if ((c & 0xc0) != 0x80)
num_words++;
}
if (num_words != 0)
printf("[第%d段 %d个字]\n", num_paras, num_words);
return 0;
}
$ gcc -Wall main.c
$ cat a.txt | ./a.out
[第1段 157个字]
[第2段 205个字]
[第3段 242个字]
逐个字符扫描啊
汉字编码从0xB0A1开始,0xA1A1到0xB0A0之间是中文符号
大致是这样的,把文字放到文件里。
int main()
{
FILE *fp = fopen("book.txt","r");
char s[10000];
int nLen = fread(s,1,10000,fp);
fclose(fp);
int count = 0,para = 0;
int i=0;
while(s[i] != '\0')
{
if(s[i] == '\n')
{
if(count > 0)
{
para++;
printf("%d段,%d字\n",para,count);
}
count = 0;
}
else
{
if((unsigned char)(s[i]) >= 0xA1)
{
if((unsigned char)(s[i]) < 0xB0)
{
if(count > 0)
count++;
}
else
count++;
i++;
}
}
i++;
}
}
大概思路,
如果可以在每段中增加一个 特殊符号 最方便,
以此符号做分隔,把整篇文章平分为几个段,再对每个段用函数计算字数,
放到一个字符串数组中。