C++/Php/Python/Shell 程序按行讀取文件或者控制臺(tái)的實(shí)現(xiàn)
寫(xiě)程序經(jīng)常需要用到從文件或者標(biāo)準(zhǔn)輸入中按行讀取信息,這里匯總一下。方便使用
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];
//按行讀取文件內(nèi)容
while(fgets(buf, sizeof(buf), p_in) != NULL) {
//寫(xiě)入到文件
fwrite(buf, sizeof(char), strlen(buf), p_out);
}
fclose(p_in);
fclose(p_out);
return 0;
}
讀取標(biāo)準(zhǔn)輸入
#include<stdio.h>
int main(){
char buf[2048];
gets(buf);
printf("%s\n", buf);
return 0;
}
/// scanf 遇到空格等字符會(huì)結(jié)束
/// gets 遇到換行符結(jié)束
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) 不指定長(zhǎng)度默認(rèn)為1024字節(jié)
$buf = fgets($fp);
$buf = trim($buf);
if(empty($buf)){
continue;
}
else{
echo $buf."\n";
}
}
fclose($fp);
}
?>
讀取標(biāo)準(zhǔn)輸入
<?php
$fp = fopen("/dev/stdin", "r");
while($input = fgets($fp, 10000)){
$input = trim($input);
echo $input."\n";
}
fclose($fp);
?>
3. Python
讀取標(biāo)準(zhǔn)輸入
#coding=utf-8 # 如果要在python2的py文件里面寫(xiě)中文,則必須要添加一行聲明文件編碼的注釋,否則python2會(huì)默認(rèn)使用ASCII編碼。 # 編碼申明,寫(xiě)在第一行就好 import sys input = sys.stdin for i in input: #i表示當(dāng)前的輸入行 i = i.strip() print i input.close()
4. Shell
讀取文件
#!/bin/bash
#讀取文件, 則直接使用文件名; 讀取控制臺(tái), 則使用/dev/stdin
while read line
do
echo ${line}
done < filename
讀取標(biāo)準(zhǔn)輸入
#!/bin/bash
while read line
do
echo ${line}
done < /dev/stdin
以上這篇C++/Php/Python/Shell 程序按行讀取文件或者控制臺(tái)的實(shí)現(xiàn)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Python實(shí)現(xiàn)讀取文件最后n行的方法
- Python按行讀取文件的實(shí)現(xiàn)方法【小文件和大文件讀取】
- Python按行讀取文件的簡(jiǎn)單實(shí)現(xiàn)方法
- Python3實(shí)現(xiàn)從文件中讀取指定行的方法
- python逐行讀取文件內(nèi)容的三種方法
- python讀文件逐行處理的示例代碼分享
- python追加元素到列表的方法
- Python文件操作,open讀寫(xiě)文件,追加文本內(nèi)容實(shí)例
- Python中使用第三方庫(kù)xlutils來(lái)追加寫(xiě)入Excel文件示例
- Python創(chuàng)建文件和追加文件內(nèi)容實(shí)例
- Python實(shí)現(xiàn)的將文件每一列寫(xiě)入列表功能示例【測(cè)試可用】
相關(guān)文章
C語(yǔ)言學(xué)習(xí)進(jìn)階篇之萬(wàn)字詳解指針與qsort函數(shù)
之前的指針詳解中,提到過(guò)qsort函數(shù),這個(gè)函數(shù)是用來(lái)排序的,下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言指針與qsort函數(shù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單萬(wàn)年歷
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單萬(wàn)年歷,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02
VC++進(jìn)度條process Bar的用法實(shí)例
這篇文章主要介紹了VC++進(jìn)度條process Bar的用法,是進(jìn)行VC++應(yīng)用程序開(kāi)發(fā)中非常常見(jiàn)的實(shí)用技巧,需要的朋友可以參考下2014-10-10
C語(yǔ)言拓展實(shí)現(xiàn)Lua sleep函數(shù)
這篇文章主要介紹了C語(yǔ)言拓展實(shí)現(xiàn)Lua sleep函數(shù),本文使用C語(yǔ)言寫(xiě)出sleep函數(shù),編譯后在Lua中調(diào)用,需要的朋友可以參考下2015-04-04
C語(yǔ)言求素?cái)?shù)的幾種方式總結(jié)
這篇文章主要介紹了C語(yǔ)言求素?cái)?shù)的幾種方式總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12

