双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

求解,关于getline读取的空格和去除代码注释

h496022202 h496022202 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
好吧,在编一个程序,用来计算源代码中的行数以及取出代码中for语句与if语句的一个程序,以下是代码:
#include <iostream>
#include<string>
#include<fstream>
using namespace std;
int ReadLine();
//int ReadFor();
void main()
{
int L;
L=ReadLine();
cout<<"代码总共"<<L<<"行"<<endl;
int m;
cin>>m;

}
int ReadLine()
{
fstream dataFile;
string File;
int num=0;

cout<<"请输入文件位置和文件名:";
cin>>File;
dataFile.open(File,ios::in|ios::out);
if(!dataFile)
{
cout<<"文件打开失败,检查文件名或文件路径是否输错!"<<endl;
exit(0);
}
while (!dataFile.eof())
{
string arr;
//dataFile>>arr;
getline(dataFile,arr);
int n=arr.length();
//for(int j=0;j<n;j++)
// {
// if(n-j>2)
// {if(arr[j]=='/'&&arr[j+1]=='/')
// arr=arr.substr(0,j);}}
num++;
//string F="for";
//string I="if";
if(arr=="\n")
--num;

for(int i=0;i<n;i++)
{
if(n-i>3)
{
if(arr[i]=='f'&&arr[i+1]=='o'&&arr[i+2]=='r')
cout<<num<<"行"<<"for语句"<<arr<<endl;
}
if(n-i>2)
{
if(arr[i]=='i'&&arr[i+1]=='f')
cout<<num<<"行"<<"if语句"<<arr<<endl;
}
}
}
return num;
}
在测试时 在计数的时候,把代码文件中的空行也计算进去了,以上红色字体为,写的取出空行的代码,貌似没有用,求教各位大神,这个该如何弄呢,而且把代码行读入到arr中时,空格也进去了,如何在读取时就忽略掉空格呢,剩下的就是那个去除注释了。。。。
...全文

相关推荐

使用ifstream和getline读取文件内容[c++]

c++、getline、每次读取一行txt; //读取方式: 逐词读取, 词之间用空格区分; //读取方式: 逐行读取, 将行读入字符数组, 行之间用回车换行区分; //读取方式: 逐行读取, 将行读入字符串, 行之间用回车换行区分

shonffy

C++读取带空格字符串的方法

今天小编就为大家分享一篇C++读取带空格字符串的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

weixin_38531788

C++_C++_读取txt文档_txt内容读取_按空格分隔_按逗号分隔_

运用C++读取txt文档,对文档中的内容按行,按逗号,按空格,分开输出,读取

何欣颜

C++ cin.getline及getline()用法详解

主要介绍了C++ cin.getline用法及C++ getline()的两种用法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

weixin_38609401

C++中getline()的用法详解

getline()用法 getline是C++标准库函数;它有两种形式,一种是头文件中输入流成员函数;一种在头文件中普通函数; 它遇到以下情况发生会导致生成的本字符串结束: (1)到文件结束,(2)遇到函数的定界符,(3)输入达到最大限度。 输入流成员函数getline() 函数语法结构: 在中的getline()函数有两种重载形式: istream& getline (char* s, streamsize n ); istream& getline (char* s, streamsize n, char delim )

weixin_38624437
评论 4
收藏 已收藏
分享
返回顶部
h496022202
C++ 语言 65,214 成员 250,514 内容