c读取一行字符串,以及c++读取一行字符串的实例

一 c读取一行字符串

1 gets

#include <stdio.h>
#include <stdlib.h>
#include <string.h> 

int main()
{
 int size = 1024;
 char* buff = (char*)malloc(size); 

 // read lines
 while(NULL != gets(buff)){
 printf("Read line with len: %d\n", strlen(buff));
 printf("%s", buff);
 } 

 // free buff
 free(buff);
} 

利用getchar()读取一个个字符来读取一行

#include <stdio.h>
#include <stdlib.h> 

int my_getline(char* line, int max_size)
{
 int c;
 int len = 0;
 while( (c = getchar()) != EOF && len < max_size ){
 line[len++] = c;
 if('\n' == c)
  break;
 } 

 line[len] = '\0';
 return len;
} 

int main()
{
 int max_size = 1024;
 char* buff = (char*)malloc( sizeof(char) * max_size ); 

 //getline
 int len;
 while(0 != (len = my_getline(buff, max_size))){
 printf("Read line with len: %d\n", len);
 printf("%s", buff);
 } 

 free(buff);
}

二 c++读取一行字符串

cin.get()和cin.getline()
#include<iostream>

using namespace std;

int main()
{

 cout << "----------getline忽略'\\n-----------------" << endl;
 char str0[30], str1[30];
 cin.getline(str0, 30);
 cin.getline(str1, 30);
 cout << "str0:" << str0 << endl;
 cout << "str1:" << str1 << endl;

 cout << "---------利用get()消除get()遗留下来的'\\n'-------" << endl;
 char str2[30], str3[30];
 cin.get(str2, 30).get(); // 注意这里!
 cin.get(str3, 30).get();
 cout << "str1: " << str2 << endl;
 cout << "str2: " << str3 << endl;

 cout << "--------没消除get()遗留下来的'\\n'就被下一个get()读取了,所以str5输出为空-----" << endl;
 char str4[30], str5[30];
 cin.get(str4, 30); // 注意这里!
 cin.get(str5, 30);
 cout << "str4: " << str4 << endl;
 cout << "str5: " << str5 << endl;
 return 0;

}

以上这篇c读取一行字符串,以及c++读取一行字符串的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • C字符串与C++字符串的深入理解

    在C中,并没有字符串这个数据类型,而是使用字符数组来保存字符串.C字符串实际上就是一个以null('\0')字符结尾的字符数组,null字符表示字符串的结束.需要注意的是:只有以null字符结尾的字符数组才是C字符串,否则只是一般的C字符数组. C字符串定义时可以利用"="号进行初始化,但是以后不能利用"="对C字符串进行赋值.对C字符串的操作需要通过"string"文件中定义的字符串处理函数.例如://字符串的初始化char a[11] = &

  • 深入C语言把文件读入字符串以及将字符串写入文件的解决方法

    1.纯C实现 复制代码 代码如下: FILE *fp; if ((fp = fopen("example.txt", "rb")) == NULL) {  exit(0); } fseek(fp, 0, SEEK_END); int fileLen = ftell(fp); char *tmp = (char *) malloc(sizeof(char) * fileLen); fseek(fp, 0, SEEK_SET); fread(tmp, fileLen,

  • C++实现一行一行读取文本的方法

    如下所示: #include<iostream> #include<fstream> #include<string> int main(int argv,char *arg[]) { fstream f("dictionary.txt");//创建一个fstream文件流对象 vector<string> words; //创建一个vector<string>对象 string line; //保存读入的每一行 while(

  • c读取一行字符串,以及c++读取一行字符串的实例

    一 c读取一行字符串 1 gets #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int size = 1024; char* buff = (char*)malloc(size); // read lines while(NULL != gets(buff)){ printf("Read line with len: %d\n", strlen(buf

  • java创建一个类实现读取一个文件中的每一行显示出来

    实例如下 import java.io.*; import java.util.*; class MyBufferReaderDemo{ private FileReader fb; MyBufferReaderDemo(FileReader fb){ this.fb=fb; } public String BufferReader() throws IOException{ StringBuilder s1=new StringBuilder(); int ch=0; while((ch=fb

  • python按行读取文件并找出其中指定字符串

    python按行读取文件并找出其中指定字符串 #coding=utf-8 import os, time, sys, re #reload(sys) #sys.setdefaultencoding("utf8") # 不设置,否则编码方式不对应,无法找出字符串 file = open(path) sum=0 for line in file.readlines(): #line = line.strip("\n") key = "解析渲染" if

  • python读取文本中数据并转化为DataFrame的实例

    在技术问答中看到一个这样的问题,感觉相对比较常见,就单开一篇文章写下来. 从纯文本格式文件 "file_in"中读取数据,格式如下: 需要输出成"file_out",格式如下: 数据的原格式是"类别:内容",以空行"\n"为分条目,转换后变成一个条目一行,按照类别顺序依次写出内容. 建议读取后,使用pandas,把数据建立称DataFrame的表格.这样方便以后处理数据.但是原格式并不是通常的表格格式,所以要先做一些简单的处理

  • java读取word文档,提取标题和内容的实例

    使用的工具为poi,需要导入的依赖如下 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <arti

  • Java读取txt文件和写入txt文件的简单实例

    写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂! package edu.thu.keyword.test; import java.io.File; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream;

  • php读取qqwry.dat ip地址定位文件的类实例代码

    实例如下: <?php // +---------------------------------------------------------------------- // | // +---------------------------------------------------------------------- // | // +---------------------------------------------------------------------- cla

  • 关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)

    下面一段代码给大家介绍vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性),具体代码如下所示: <div class="imglist-item" v-for="(items,key) in imgmaterialdialog.imglist" @click="selectimg(items,key)" :class="(key + 1) % 4==0?'imglist-noright':''">

  • 读取json格式为DataFrame(可转为.csv)的实例讲解

    有时候需要读取一定格式的json文件为DataFrame,可以通过json来转换或者pandas中的read_json(). import pandas as pd import json data = pd.DataFrame(json.loads(open('jsonFile.txt','r+').read()))#方法一 dataCopy = pd.read_json('jsonFile.txt',typ='frame') #方法二 pandas.read_json(path_or_buf

  • python读取raw binary图片并提取统计信息的实例

    用python语言读取二进制图片文件,并提取非零数据统计信息(例如:max,min,skewness and kurtosis) python新手,注释较少,欢迎指教 import struct import math import numpy import scipy.stats filename = input('enter file name') f = open(filename, 'rb') f.seek(0, 0) c = 0 numOfZero = 0 s = 0 num = []

随机推荐