C++/Php/Python/Shell 程序按行读取文件或者控制台的实现
作者:jingxian 发布时间:2021-12-20 06:36:18
标签:python,控制台,C++,Php,Python,Shell
写程序经常需要用到从文件或者标准输入中按行读取信息,这里汇总一下。方便使用
1. C++
读取文件
#include<stdio.h>
#include<string.h>
int main(){
const char* in_file = "input_file_name";
const char* out_file = "output_file_name";
FILE *p_in = fopen(in_file, "r");
if(!p_in){
printf("open file %s failed!!!", in_file);
return -1;
}
FILE *p_out = fopen(out_file, "w");
if(!p_in){
printf("open file %s failed!!!", out_file);
if(!p_in){
fclose(p_in);
}
return -1;
}
char buf[2048];
//按行读取文件内容
while(fgets(buf, sizeof(buf), p_in) != NULL) {
//写入到文件
fwrite(buf, sizeof(char), strlen(buf), p_out);
}
fclose(p_in);
fclose(p_out);
return 0;
}
读取标准输入
#include<stdio.h>
int main(){
char buf[2048];
gets(buf);
printf("%s\n", buf);
return 0;
}
/// scanf 遇到空格等字符会结束
/// gets 遇到换行符结束
2. Php
读取文件
<?php
$filename = "input_file_name";
$fp = fopen($filename, "r");
if(!$fp){
echo "open file $filename failed\n";
exit(1);
}
else{
while(!feof($fp)){
//fgets(file,length) 不指定长度默认为1024字节
$buf = fgets($fp);
$buf = trim($buf);
if(empty($buf)){
continue;
}
else{
echo $buf."\n";
}
}
fclose($fp);
}
?>
读取标准输入
<?php
$fp = fopen("/dev/stdin", "r");
while($input = fgets($fp, 10000)){
$input = trim($input);
echo $input."\n";
}
fclose($fp);
?>
3. Python
读取标准输入
#coding=utf-8
# 如果要在python2的py文件里面写中文,则必须要添加一行声明文件编码的注释,否则python2会默认使用ASCII编码。
# 编码申明,写在第一行就好
import sys
input = sys.stdin
for i in input:
#i表示当前的输入行
i = i.strip()
print i
input.close()
4. Shell
读取文件
#!/bin/bash
#读取文件, 则直接使用文件名; 读取控制台, 则使用/dev/stdin
while read line
do
echo ${line}
done < filename
读取标准输入
#!/bin/bash
while read line
do
echo ${line}
done < /dev/stdin
0
投稿
猜你喜欢
- 前言我们在分析列表数据时,常常需要对列表数据进行输出或多列表关联拼接。直接使用列表,列表中的各元素以逗号分隔,每个元素包含引号。如何连接列表
- 一般现今ASP木马常通过以下四点来操作服务器,所以我们只要将一下四处设置好就能从一 前使用IIS服务器的站长很多,特别是对于ASP网站来说,
- 我们在使用Django的models查询数据库时,可以看到有这种写法:form app.models import&nb
- 本文实例讲述了JavaScript实现为input与textarea自定义hover,focus效果的方法。分享给大家供大家参考。具体如下:
- 1.前言数据库的重要性相信大家都有所了解,作为各种数据的电子资料夹,其中可能包含了各种信息,从企业员工信息到网站访问或成交数据无所不包,甚至
- 流程控制流程:代码执行的过程控制:对代码执行过程的把控三大结构顺序结构:代码默认从上到下,依次执行分支结构:单项分支,双向分支,多项分支,巢
- 一张表(ColumnTable)的结构如下图所示当前需要实现的功能:通过Number的值为67来获取当前的节点ID、父节点ID递归实现SQL
- 本文实例讲述了PHP基于phpqrcode生成带LOGO图像的二维码。分享给大家供大家参考。具体如下:这里PHP使用phpqrcode生成带
- 需求场景,五百个文件里面,选取50个指定文件,放入新的文件夹里。1、准备工作1 安装python环境可能会报错,并且pip install
- SQL Server 2000使得以XML导出数据变得更加简单,但在SQL Server 2000中导入XML数据并对其进行处理则有些麻烦。
- httpparser介绍:1.解析字节类型的http与https请求数据:2.支持已k-v形式修改请求数据:3.支持重新编码请求数据源码im
- 前言上篇文章 一文了解 Go 标准库 strings 常用函数和方法 介绍了 strings 标注库里的一些常用的函数和方法,本文也是以 s
- 一直有爱看美剧的习惯,一方面锻炼一下英语听力,一方面打发一下时间。之前是能在视频网站上面在线看的,可是自从广电总局的限制令之后,进口的美剧英
- 使用fastapi框架开发web项目1、为什么要用fastapi?一直以来博主都是一直使用Django进行开发的,最近公司开始使用fasta
- 最近面试,被问到一个题目,vue做一个按钮组件;当时只是说了一下思路,回来就附上代码。解决思路:通过父子组件通讯($refs 和 props
- Access数据库,同时操作大量记录(9500条以上)时报错。错误提示:Microsoft JET Database Engine 错误 &
- 上次在“给网页添加打印按钮”一文中,有一段代码是“复制本文链接到剪贴板”js脚本,很可惜只能在IE中使用。这次在“淘宝网在线充值中心 - 荆
- 1.首先安装 “Python” 插件2.安装 pylint 语法检查器推荐安装在当前的 Python
- 前几天,看到有人写了个superLink的东东,主要的做什么用呢?我们有时会给在大块元素加个window.location='htt
- 本文实例为大家分享了vue实现购物车功能的具体代码,供大家参考,具体内容如下new Vue({ el: "#app",