C++/Php/Python/Shell 程序按行读取文件或者控制台的实现

作者:jingxian 时间:2021-12-20 06:36:18 

写程序经常需要用到从文件或者标准输入中按行读取信息,这里汇总一下。方便使用

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
标签:python,控制台,C++,Php,Python,Shell
0
投稿

猜你喜欢

  • 有关简洁网页设计需知的6点技巧

    2012-04-25 20:55:01
  • darknet框架中YOLOv3对数据集进行训练和预测详解

    2023-11-21 23:11:15
  • ASP 正则表达式常用的几种方法(execute、test、replace)

    2010-03-02 20:23:00
  • 对python中的iter()函数与next()函数详解

    2022-01-29 19:05:36
  • python皮尔逊相关性数据分析分析及实例代码

    2021-03-12 13:23:34
  • SQL Server内存机制详解

    2024-01-20 09:57:48
  • scrapy爬虫完整实例

    2021-06-08 09:34:26
  • Python多重继承之菱形继承的实例详解

    2022-08-06 20:29:11
  • CSS分栏布局的方法:绝对定位和浮动

    2009-04-30 13:10:00
  • SQL Server 移动系统数据库

    2024-01-15 11:35:54
  • 小白学Python之实现OCR识别

    2022-02-12 20:35:48
  • 利用Pandas索引和选取数据方法详解

    2023-04-30 23:30:07
  • Python编程给numpy矩阵添加一列方法示例

    2023-08-29 07:22:30
  • Python中os和shutil模块实用方法集锦

    2021-04-19 08:45:12
  • Golang开发库的集合及作用说明

    2024-02-01 08:03:24
  • Bootstrap Table 删除和批量删除

    2024-05-25 15:17:21
  • Pandas中批量替换字符的六种方法总结

    2022-10-23 05:23:12
  • 在python中实现求输出1-3+5-7+9-......101的和

    2022-10-08 16:33:14
  • python 测试实现方法

    2023-03-24 11:34:04
  • 详解如何在CentOS7中使用Nginx和PHP7-FPM安装Nextcloud

    2023-11-10 04:55:49
  • asp之家 网络编程 m.aspxhome.com