作者热门文章
- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章C++/Php/Python/Shell 程序按行读取文件或者控制台的实现由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
写程序经常需要用到从文件或者标准输入中按行读取信息,这里汇总一下。方便使用 。
1. C++ 。
读取文件 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#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;
}
|
读取标准输入 。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#include<stdio.h>
int
main(){
char
buf[2048];
gets
(buf);
printf
(
"%s\n"
, buf);
return
0;
}
/// scanf 遇到空格等字符会结束
/// gets 遇到换行符结束
|
2. Php 。
读取文件 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<?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
);
}
?>
|
读取标准输入 。
1
2
3
4
5
6
7
8
9
10
|
<?php
$fp
=
fopen
(
"/dev/stdin"
,
"r"
);
while
(
$input
=
fgets
(
$fp
, 10000)){
$input
= trim(
$input
);
echo
$input
.
"\n"
;
}
fclose(
$fp
);
?>
|
3. Python 。
读取标准输入 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#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 。
读取文件 。
1
2
3
4
5
6
7
8
|
#!/bin/bash
#读取文件, 则直接使用文件名; 读取控制台, 则使用/dev/stdin
while read line
do
echo ${line}
done < filename
|
读取标准输入 。
1
2
3
4
5
6
|
#!/bin/bash
while read line
do
echo ${line}
done < /dev/stdin
|
以上这篇C++/Php/Python/Shell 程序按行读取文件或者控制台的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.
最后此篇关于C++/Php/Python/Shell 程序按行读取文件或者控制台的实现的文章就讲到这里了,如果你想了解更多关于C++/Php/Python/Shell 程序按行读取文件或者控制台的实现的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我是一名优秀的程序员,十分优秀!