首页 > 其他分享 >[c/cpp]:字符计数和文本行计数

[c/cpp]:字符计数和文本行计数

时间:2024-11-03 08:51:51浏览次数:1  
标签:include end char 计数 cpp 文本 size

[c/cpp]:字符计数和文本行计数

 

 

 

 

一、代码

 1 #include <iostream>
 2 #include <string>
 3 #include <vector>
 4 
 5 
 6 char input[] = "1\n2\n3\n";
 7 
 8 
 9 // string_length = string_real_length + '\0'.
10 // charstring_length = cslen
11 int cslen(char *p){
12     
13     char end='\0';
14     int size ;
15     
16     // init 'size'
17     if(*p==end) { 
18         size = 0;
19     } else { 
20         size=1;
21     }
22 
23     for(char *c=p; *c!=end; c++) {
24         size += 1;
25     }
26 
27     //std::cout << "\t[str_len]#\t" << size << std::endl;    
28     return size;
29 }
30 
31 
32 // return numbers of line. line, end with '\n'.
33 // line seperated by '\n'
34 int line_no(char *p)
35 {
36     char *c=p;
37     char line_end = '\n';
38     char char_end = '\0';
39     
40     int line_num = 0;
41     
42     for ( ; *c!=char_end; c++) {
43         //std::cout << "\t[test]#\t" << *c << std::endl;
44         if ( *c==line_end ) {
45             line_num += 1;
46         }
47     }
48 
49 
50     //std::cout <<"\t[line_no]#\t" << line_num << std::endl;
51     return line_num;
52 }
53 
54 
55 // test part
56 int main()
57 {
58     std::cout << "\t[string]#\t" << input << std::endl;
59     
60     std::cout << "\t[str_len]#\t" << cslen(input) << std::endl;
61     std::cout << "\t[line_no]#\t" << line_no(input) << std::endl;
62     
63     return 0 ;
64 }

 

 

 

二、运行结果

	[string]#	1
2
3

	[str_len]#	7
	[line_no]#	3

 

 

 

三、参考资料和工具

 

  1、  cpp在线编辑工具  -  https://coliru.stacked-crooked.com/

 

标签:include,end,char,计数,cpp,文本,size
From: https://www.cnblogs.com/lnlidawei/p/18522875

相关文章

  • [c/cpp]:字母大小写转换
    [c/cpp]:字母大小写转换    一、代码1#include<iostream>2#include<string>3#include<vector>456charip1[]="01234567890AbcDEf";7charip2[]="01234567890AbcDEf";8910//convertlowercharacterto......
  • 【bat脚本】批处理如何把文本文件分割成N个文本文件?
    原创bat学习Bat批处理学习站需求比如我现在有一文本文件,我要上传,但是太大(文件8-12M之间),不允许,我想把它分割成N个小文件(按行分割,行数可以自行设定),文件内容全部是数字和部分符号,比如内容:123456+7234567+8345678+9456789+10567891......
  • NLP segment-05-文本相似度计算 similarity java 开源实现
    拓展阅读分词系列专题jieba-fenci01结巴分词原理讲解segmentjieba-fenci02结巴分词原理讲解之数据归一化segmentjieba-fenci03结巴分词与繁简体转换segmentjieba-fenci04结巴分词之词性标注实现思路speechTaggingsegmentjieba-fenci05结巴分词之简单聊一聊......
  • 计数动态规划
    轮廓线球盒模型题目【3.14省选测试】计数仔细分析发现一定至少有一个方向的箭头被另一个截断,形成两个凸包用两条轮廓线描述凸包,发现可以转化为球盒模型,直接上就行了然而会有特殊情况:凸包顶到同一行,但是错开(类似对勾函数),特殊处理即可,注意对顶的情况会算重GroupProjects思......
  • CPP学习 用栈容器解决问题示例,判断括号是否成对出现
    #include<string>#include<iostream>#include<stack>usingnamespacestd;boolisbalanced(conststring&str){intlen=str.size();stack<char>mystack;for(inti=0;i<len;i++){if(str[i]==&......
  • Day28--URL和超文本
    Day28--URL和超文本URL是“UniformResourceLocator”的缩写,中文意思是“统一资源定位符”。它是互联网上用于标识和定位资源(如网页、图片、视频、文件等)位置的一种标准地址格式。URL的基本组成部分协议部分:位于URL的开头,如“http://”或“https://”。“http”......
  • 基于Python爬虫与文本挖掘的网络舆情监控系统【附源码】
    基于Python爬虫与文本挖掘的网络舆情监控系统效果如下:系统登录界面注册页面界面管理员主界面用户界面网络舆情管理界面看板详细页面系统简介界面用户主界面网络舆情界面研究背景随着网络空间舆论的日益活跃,其对社会事件的影响愈发显著。企业和组织需要......
  • 组合数学与计数原理
    组合数学与计数原理date:2024/10/29.不同情况求组合数求组合数的四种方法。Lucas定理如果\(p\)是质数,则对于\(\forallm,n\in\text{Z},1\leqm\leqn\),有:\[\binom{n}{m}=\binom{m\bmodp}{n\bmodp}*\binom{m/p}{n/p}(\bmodp)\]即把\(n,m\)表示为\(p\)进......
  • awk&&文本处理工具和正则表达式
    awk2.2.4优先级简单实践实践1-分结构实践BEGIN设定数据处理的前置准备[root@rocky9~]#awk'BEGIN{OFS=":"}{printNR,$0}'awk.txt1:nihaoawk1awk2awk32:nihaoawk4awk5awk63:nihaoawk7awk8awk9{}定制输出的内容样式[root@rocky9~]#awk'{print"第一列:&qu......
  • CesiumJS 案例 P17:添加文本、文本样式、删除文本、移动文本
    CesiumJSCesiumJSAPI:https://cesium.com/learn/cesiumjs/ref-doc/index.htmlCesiumJS是一个开源的JavaScript库,它用于在网页中创建和控制3D地球仪(地图)一、添加文本<!DOCTYPEhtml><htmllang="en"> <head> <metacharset="UTF-8"/> &l......