C++/Php/Python/Shell 程序按行讀取文件或者控制臺(tái)的實(shí)現(xiàn)
寫程序經(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) {
//寫入到文件
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文件里面寫中文,則必須要添加一行聲明文件編碼的注釋,否則python2會(huì)默認(rèn)使用ASCII編碼。 # 編碼申明,寫在第一行就好 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讀寫文件,追加文本內(nèi)容實(shí)例
- Python中使用第三方庫(kù)xlutils來追加寫入Excel文件示例
- Python創(chuàng)建文件和追加文件內(nèi)容實(shí)例
- Python實(shí)現(xiàn)的將文件每一列寫入列表功能示例【測(cè)試可用】
相關(guān)文章
c語(yǔ)言實(shí)現(xiàn)兩個(gè)單鏈表的交叉合并方式
今天小編就為大家分享一篇c語(yǔ)言實(shí)現(xiàn)兩個(gè)單鏈表的交叉合并方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12
C++編譯錯(cuò)誤variable-sized?object?may?not?be?initiali問題
這篇文章主要介紹了C++編譯錯(cuò)誤variable-sized?object?may?not?be?initiali問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
C++標(biāo)準(zhǔn)庫(kù)中sstream與strstream的區(qū)別詳細(xì)解析
以下是對(duì)C++標(biāo)準(zhǔn)庫(kù)中sstream與strstream的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下2013-09-09
C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)之動(dòng)態(tài)分配實(shí)現(xiàn)串
這篇文章主要介紹了C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)之動(dòng)態(tài)分配實(shí)現(xiàn)串的相關(guān)資料,希望通過本文能幫助到大家,讓大家實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)中動(dòng)態(tài)分配實(shí)現(xiàn)串的實(shí)例,需要的朋友可以參考下2017-10-10
VSCode同時(shí)更改所有相同的變量名或類名的圖文教程
這篇文章主要介紹了VSCode同時(shí)更改所有相同的變量名或類名,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05

