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