linecnt.c

  name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-5572165936844014&dt=1194442938015&lmt=1194190197&format=336x280_as&output=html&correlator=1194442937843&url=file%3A%2F%2F%2FC%3A%2FDocuments%2520and%2520Settings%2Flhh1%2F%E6%A1%8C%E9%9D%A2%2FCLanguage.htm&color_bg=FFFFFF&color_text=000000&color_link=000000&color_url=FFFFFF&color_border=FFFFFF&ad_type=text&ga_vid=583001034.1194442938&ga_sid=1194442938&ga_hid=1942779085&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_tz=480&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency="allowtransparency"> #include <stdio.h>

void main(void)
 {
   char line[256];  // Line of redirected input

   long line_count = 0;

   while (fgets(line, sizeof(line), stdin))
     line_count++;

   printf("The number of redirected lines: %ld/n", line_count);
 }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一个基于C++的解决方案。以下是代码示例: ```c++ #include <iostream> #include <fstream> #include <string> using namespace std; int main() { string filename = "article.txt"; // 文本文件名 ifstream inFile(filename); // 打开文件流 int englishCnt = 0; // 英文字母个数 int digitCnt = 0; // 数字个数 int chineseCnt = 0; // 中文字符个数 int periodCnt = 0; // 句号个数 int lineCnt = 0; // 总行数 string line; // 存储每一行数据的字符串 if (!inFile) { // 判断文件是否打开成功 cerr << "Unable to open file " << filename << endl; exit(1); } while (getline(inFile, line)) { // 逐行读取文件内容 lineCnt++; // 总行数自增 if (line.empty()) continue; // 如果该行为空行则跳过 bool hasPeriod = false; // 标记该行是否有句号 for (char c : line) { if (isalpha(c)) { // 判断是否是英文字母 englishCnt++; } else if (isdigit(c)) { // 判断是否是数字 digitCnt++; } else if (c == '。') { // 判断是否是中文句号 chineseCnt++; periodCnt++; hasPeriod = true; } else if (c > 127) { // 判断是否是中文字符 chineseCnt++; } } if (!hasPeriod) periodCnt++; // 如果该行没有句号,则总句号数自增 } cout << "Total lines: " << lineCnt << endl; cout << "Total English letters: " << englishCnt << endl; cout << "Total digits: " << digitCnt << endl; cout << "Total Chinese characters: " << chineseCnt << endl; cout << "Total periods: " << periodCnt << endl; inFile.close(); // 关闭文件流 return 0; } ``` 该程序首先打开指定的文本文件,然后逐行读取文件内容。对于每一行,程序会先将总行数自增,然后判断该行是否为空行。如果非空,则程序会遍历该行的每一个字符,并根据字符类型将相应的计数器自增。如果该行中没有中文句号,则程序会将总句号数自增。最后,程序会输出各个计数器的值。 请注意,该程序只能处理UTF-8编码的文本文件,如果您的文本文件采用的是其他编码方式,则需要进行相应的调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值