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

简介: 写程序经常需要用到从文件或者标准输入中按行读取信息,这里汇总一下。方便使用 1. C++  读取文件 1 #include 2 #include 3 4 int main(){ 5 const char* in_file = "input_file_name"...

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

1. C++

 读取文件

 1 #include<stdio.h>
 2 #include<string.h>
 3 
 4 int main(){
 5     const char* in_file = "input_file_name";
 6     const char* out_file = "output_file_name";
 7 
 8     FILE *p_in = fopen(in_file, "r");
 9     if(!p_in){
10         printf("open file %s failed!!!", in_file);
11         return -1;
12     }
13         
14     FILE *p_out = fopen(out_file, "w");
15     if(!p_in){
16         printf("open file %s failed!!!", out_file);
17         if(!p_in){
18             fclose(p_in);
19         }
20         return -1;
21     }
22 
23     char buf[2048];
24     //按行读取文件内容
25     while(fgets(buf, sizeof(buf), p_in) != NULL) {
26         //写入到文件
27         fwrite(buf, sizeof(char), strlen(buf), p_out);
28     }
29 
30     fclose(p_in);
31     fclose(p_out);
32     return 0;
33 }
View Code

读取标准输入

 1 #include<stdio.h>
 2 
 3 int main(){
 4     char buf[2048];
 5 
 6     gets(buf);
 7     printf("%s\n", buf);
 8 
 9     return 0;
10 }
11 
12 /// scanf 遇到空格等字符会结束
13 /// gets 遇到换行符结束
View Code

2. Php

读取文件

 1 <?php
 2 $filename = "input_file_name";
 3 
 4 $fp = fopen($filename, "r");
 5 if(!$fp){
 6     echo "open file $filename failed\n";
 7     exit(1);
 8 }
 9 else{
10     while(!feof($fp)){
11         //fgets(file,length) 不指定长度默认为1024字节
12         $buf = fgets($fp);
13 
14         $buf = trim($buf);
15         if(empty($buf)){
16             continue;
17         }
18         else{
19             echo $buf."\n";
20         }
21     }
22     fclose($fp);
23 }
24 ?>
View Code

读取标准输入 

 1 <?php
 2 $fp = fopen("/dev/stdin", "r");
 3 
 4 while($input = fgets($fp, 10000)){
 5         $input = trim($input);
 6        echo $input."\n";
 7 }
 8 
 9 fclose($fp);
10 ?>
View Code

 3. Python

读取文件

1 file = open("read.py", "r")
2 while 1:
3     line = file.readline()
4     if not line:
5         break
6     #line = line
7     line = line.strip() ##移除字符串头尾指定的字符(默认为空格)
8     print line
View Code

读取标准输入

 1 #coding=utf-8
 2 
 3 # 如果要在python2的py文件里面写中文,则必须要添加一行声明文件编码的注释,否则python2会默认使用ASCII编码。
 4 # 编码申明,写在第一行就好 
 5 import sys
 6 
 7 input = sys.stdin
 8 
 9 for i in input:
10     #i表示当前的输入行
11 
12     i = i.strip()
13     print i
14 
15 input.close()
View Code

 4. Shell

读取文件

1 #!/bin/bash
2 
3 #读取文件, 则直接使用文件名; 读取控制台, 则使用/dev/stdin
4 
5 while read line
6 do
7     echo ${line}
8 done < filename
View Code

读取标准输入

1 #!/bin/bash
2 
3 while read line
4 do
5     echo ${line}
6 done < /dev/stdin
View Code

 

相关文章
|
机器学习/深度学习 人工智能 数据挖掘
PHP和Python是两种广泛应用的编程语言
【7月更文挑战第2天】PHP和Python是两种广泛应用的编程语言
243 57
基本的Dos命令 在控制台如何进入某一个文件或者进入不同的盘符
这篇文章介绍了如何在Windows DOS命令行环境中进入不同盘符和文件夹,包括使用Win+R快捷键打开运行窗口、通过输入盘符加冒号(如"D:")切换到指定盘符、使用"cd"命令进入文件夹,以及一些基本的文件操作命令如"dir"查看文件和"del"删除文件等。
基本的Dos命令 在控制台如何进入某一个文件或者进入不同的盘符
python在控制台打印爱心3-4
python在控制台打印爱心3-4
|
机器学习/深度学习 PHP 开发者
探索PHP中的面向对象编程构建你的首个机器学习模型:以Python和scikit-learn为例
【8月更文挑战第30天】在PHP的世界中,面向对象编程(OOP)是一块基石,它让代码更加模块化、易于管理和维护。本文将深入探讨PHP中面向对象的魔法,从类和对象的定义开始,到继承、多态性、封装等核心概念,再到实战中如何应用这些理念来构建更健壮的应用。我们将通过示例代码,一起见证PHP中OOP的魔力,并理解其背后的设计哲学。
|
Unix Shell Python
在Shell中转换Python正则表达式
结合以上提到的注意事项与差异点,就能在Shell环境中巧妙地转换并使用Python正则表达式了。务实和节省时间的做法是,将一些常见Python正则模式记在手边,随时查阅并对照POSIX标准进行调整。同时,借助在线正则表达式测试器和文档也能有效地提升在Shell环境中处理正则表达式的能力。
137 5
|
PHP 开发者 UED
PHP中的异常处理:从基础到高级探索Python中的列表推导式:简洁而强大的工具
【8月更文挑战第30天】在PHP编程的世界中,异常处理是确保代码健壮性和可靠性的关键机制。本文将引导您了解PHP异常处理的基本概念,并通过实际示例展示如何有效地捕获和处理异常。我们将一起探索try-catch结构、自定义异常类以及高级异常处理技术,让您的PHP代码更加稳固和易于维护。
|
机器学习/深度学习 人工智能 PHP
如何根据个人需求选择使用PHP还是Python?
【7月更文挑战第2天】如何根据个人需求选择使用PHP还是Python?
118 1
|
机器学习/深度学习 JavaScript 程序员
PHP和Python在哪些方面有所不同?
【7月更文挑战第2天】PHP和Python在哪些方面有所不同?
123 1
|
算法 Java C++
C++和Python在内存管理上的主要区别是什么?
【7月更文挑战第2天】C++和Python在内存管理上的主要区别是什么?
396 1
WK
|
机器学习/深度学习 运维 Java
Python 相对于 C++ 有哪些明显的优势
C++是一种强大且高效的编程语言,被广泛应用在系统软件、游戏开发、嵌入式系统等多个领域。然而Python在某些方面展现出显著优势:Python语法简洁直观,易于学习与使用,提高了代码的可读性和团队协作效率;拥有丰富的第三方库和框架资源,能有效提升开发效率;具备良好的跨平台性,无需大量修改即可适应不同操作系统;
WK
412 0

推荐镜像

更多