欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++/Php/Python/Shell 程序按行讀取文件或者控制臺的實現(xiàn)

 更新時間:2017年03月31日 14:20:11   投稿:jingxian  
下面小編就為大家?guī)硪黄狢++/Php/Python/Shell 程序按行讀取文件或者控制臺的實現(xiàn)。小編覺得挺不錯的,現(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 遇到空格等字符會結(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) 不指定長度默認(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會默認(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

#讀取文件, 則直接使用文件名; 讀取控制臺, 則使用/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 程序按行讀取文件或者控制臺的實現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一文解密C++中的多態(tài)機(jī)制

    一文解密C++中的多態(tài)機(jī)制

    眾所周知C++語言的三大特性:封裝、多態(tài)、繼承,其中多態(tài)就是去完成某個行為,但是會根據(jù)不同的對象產(chǎn)生不同的狀態(tài),下面小編就來帶大家深入了解一下C++的多態(tài)機(jī)制吧
    2023-07-07
  • C語言學(xué)習(xí)進(jìn)階篇之萬字詳解指針與qsort函數(shù)

    C語言學(xué)習(xí)進(jìn)階篇之萬字詳解指針與qsort函數(shù)

    之前的指針詳解中,提到過qsort函數(shù),這個函數(shù)是用來排序的,下面這篇文章主要給大家介紹了關(guān)于C語言指針與qsort函數(shù)的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Qt中互斥鎖QMutex和QMutexLocker的使用

    Qt中互斥鎖QMutex和QMutexLocker的使用

    本文主要介紹了Qt中互斥鎖QMutex和QMutexLocker的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • C++筆記之std::future的用法小結(jié)

    C++筆記之std::future的用法小結(jié)

    std::future通常由某個Provider創(chuàng)建,與std::async一起使用,本文主要介紹了C++筆記之std::future的用法小結(jié),具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • 封裝常用正則表達(dá)式的用法

    封裝常用正則表達(dá)式的用法

    這篇文章主要介紹了使用C++封裝常用正則表達(dá)式的用法,方便以后直接使用,最后還給出了測試代碼,大家可運(yùn)行測試使用
    2014-03-03
  • 淺談char*類型返回值和字符串常量

    淺談char*類型返回值和字符串常量

    下面小編就為大家?guī)硪黄獪\談char*類型返回值和字符串常量。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • C語言實現(xiàn)簡單萬年歷

    C語言實現(xiàn)簡單萬年歷

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)簡單萬年歷,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • VC++進(jìn)度條process Bar的用法實例

    VC++進(jìn)度條process Bar的用法實例

    這篇文章主要介紹了VC++進(jìn)度條process Bar的用法,是進(jìn)行VC++應(yīng)用程序開發(fā)中非常常見的實用技巧,需要的朋友可以參考下
    2014-10-10
  • C語言拓展實現(xiàn)Lua sleep函數(shù)

    C語言拓展實現(xiàn)Lua sleep函數(shù)

    這篇文章主要介紹了C語言拓展實現(xiàn)Lua sleep函數(shù),本文使用C語言寫出sleep函數(shù),編譯后在Lua中調(diào)用,需要的朋友可以參考下
    2015-04-04
  • C語言求素數(shù)的幾種方式總結(jié)

    C語言求素數(shù)的幾種方式總結(jié)

    這篇文章主要介紹了C語言求素數(shù)的幾種方式總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12

最新評論