c++-C/C++如何真正读取一行?

问题描述

C/C++如何真正读取一行?

如题,在项目中遇到一个问题,需要把项目文件中的复合某种条件的语句全部读取出来,写入文件。
可是,实际行动的过程中,发现一个问题,那就是文件中有很多事.c文件,里面会有很多的诸如,n等这样的东西,那c++得getline是不是就没办法用?
很纠结,因为要读取出来判断是否符合条件,所以肯定是要读到某个缓冲区中的,请教诸位大神,是否有办法?

解决方案

c/c++是为字符串结束符,你字符串怎么会中间存在,n都不算无效字符,只有遇到所以楼主不要担心,字符串中间不可能出现
基本表示字符串结束了

解决方案二:

楼主,我上次忘了说了,gitline是输入函数,之所以遇到n就结束是因为gitline认为用户n是输入结束,你也可以自己封装一个字符串输入函数,一次读一个字符就行了

解决方案三:

自己写函数判断输入的n asII码,存在表示一行结束

解决方案四:

没有记错的话,使用getline指定输入流对象和行结束符就可以一行一行的读取了。默认是cin和n符。

时间: 2024-10-10 21:34:41

c++-C/C++如何真正读取一行?的相关文章

(四十七)读取一行输入getline()和get()

调用getline()来读取一行,需要使用cin.getline(数组名,读取字符数). 这个函数的两个参数,一个为数组名,另一个类似字符串(即想要读取20个字符需要填写21,因为最后一位要留空字符). 上代码: #include<iostream> int main() { using namespace std; const int a = 20; //注意,如果这里输入int a=20; 的话,编译器会提示a不是常量,因此要用const来限制 char name[a]; //字符串a存储

Qt 从TextEdit中读取一行字符串(包含空格)

问题描述 Qt 从TextEdit中读取一行字符串(包含空格) 我之前是从文件中直接使用getline直接读取的,现在想从TextEdit中读取,应该怎么写? 要和getline一个效果的 解决方案 QStringList Str_List = 文本框->getText()->split( " " ) ; 第n行 = Str_List[n - 1] ;

读取一行数据库内容放数组

问题描述 读取数据库,怎么放到数组去,是放到list<>好还是多维数组好,能写个例子吗比如数据库内容标题内容时间a1b22015-3-6a1b22015-3-6 解决方案 解决方案二:放DataTable不好吗,为什么非要放到数组里实体类也行啊数据库每一列的类型都不一样,放数组是最不好的方案,可读性也差,放进去了之后,你过一段时间再看,根本不知道里面放的是啥解决方案三:放到List<你的实体类>中,如果不知道实体类,可以msdn.解决方案四:引用1楼Z65443344的回复: 放D

C语言读取每一行文本

因为编译原理要用到,记录一下.   1 #include <stdio.h> 2 3 int main() 4 { 5 char filename[] = "D:\\阶段性学习\\大三上\\1.课程学习\\编译原理\\0903\\实验二\\test.c"; //文件名 6 FILE *fp; 7 char StrLine[1024]; //每行最大读取的字符数 8 if((fp = fopen(filename,"r")) == NULL) //判断文件

io流-IO流 自定义readLine 无法读取下一行

问题描述 IO流 自定义readLine 无法读取下一行 5C import java.io.*;public class Demo { public static void main(String[] args) throws IOException { BufferedWriter bfw = new BufferedWriter(new FileWriter(""b.txt"")); bfw.write(""sdasdaadrn"

hadoop map怎么一次读取多行数据(一块数据)而非一行数据?

问题描述 hadoop map怎么一次读取多行数据(一块数据)而非一行数据? 利用hadoop做数据SVM并行计算,但是想在map任务中将数据分块建立模型再reduce中将分块的 模型合并,但是map每次只能读取一行数据,不能满足数据挖掘中用一整块数据去建模的 原则,请教大家怎么修改map任务逻辑,能一次读取一块数据而非一行数据,谢谢 解决方案 你需要自定义hadoop的InputFormat,而不是改mapper 解决方案二: 看这篇博客 里面讲了怎么实现一次读取多行http://blog.c

c++按列读取文件-c++从一两列文件按列读取数据到两一维数组中

问题描述 c++从一两列文件按列读取数据到两一维数组中 数据如下: 0.00 882.197 8.35 877.375 15.66 871.794 27.24 864.176 37.27 855.956 41.28 852.139 43.72 848.769 55.84 838.139 71.62 825.459 82.78 820.639 98.28 817.389 109.84 817.409 125.86 817.949 136.84 817.469 152.48 817.829 163.

PHP如何快速读取大文件

在PHP中,对于文件的读取时,最快捷的方式莫过于使用一些诸如file.file_get_contents之类的函数,简简单单的几行代码就能很漂亮的完成我们所需要的功能.但当所操作的文件是一个比较大的文件时,这些函数可能就显的力不从心, 下面将从一个需求入手来说明对于读取大文件时,常用的操作方法. 需求 有一个800M的日志文件,大约有500多万行, 用PHP返回最后几行的内容. 实现方法 1. 直接采用file函数来操作 由于 file函数是一次性将所有内容读入内存,而PHP为了防止一些写的比较

php学习笔记--高级教程--读取文件、创建文件、写入文件

打开文件:fopen:fopen(filename,mode);//fopen("test.txt","r"): 打开模式:r 只读方式打开,将文件指针指向文件头 r+ 读写方式打开,将文件指针指向文件头 w 写入方式,指向文件头,如果不存在则尝试创建 w+ 读写方式,指向文件头,如果不存在则尝试创建 a 写入方式打开,指向文件末尾,如果不存在则尝试创建 a+ 读写方式打开,指向文件末尾,如果不存在则尝试创建 读取文件:fread:fread(); readfile