1. 程式人生 > >C語言:使用命令列引數用字串讀取流和輸出流進行文字檔案的複製

C語言:使用命令列引數用字串讀取流和輸出流進行文字檔案的複製

#include<stdio.h>

int main(int argc,char *argv[])

{

  //檢查使用者的引數是否正確

  if(argc<3)

  {

    printf("用法:命令 原始檔名 目標檔名\n");

    return -1;

  }

  //先開啟原始檔

  FILE *fin = fopen(argv[1],"r");

  if(fin==NULL)

  {

    printf("開啟原始檔失敗,請檢查!\n");

    return -1;

  }

  //開啟目標檔案

  FILE *fout = fopen(argv[2],"w");

  //拷貝檔案內容

  char buffer[100];

  while(!feof(fin))

  {

     //先從原始檔中讀檔案

     if(fgets(buffer,100,fin)!=NULL)

     {

      //寫到目標檔案中

      fputs(buffer,fout);

          }

  }

  //關閉兩個檔案

  fclose(fin);

  fclose(fout);

  return 0;

}

相關推薦

C語言使用命令引數字串讀取輸出進行文字檔案複製

#include<stdio.h> int main(int argc,char *argv[]) {   //檢查使用者的引數是否正確   if(argc<3)   {     printf("用法:命令 原始檔名 目標檔名\n");     return -1;

C語言-解析命令引數

#include <stdio.h> #include<unistd.h> /* 函式說明 : int getopt(int argc,char * const argv[ ],const char * optstring);) 用來分析命令

C語言函式中引數的傳值與傳地址

任務程式碼: #include <stdio.h> void swap(int *a ,int *b)//按之前對指標認識,*a代表指標變數a,a儲存的是地址,*a是地址的值。 { //但是可以看到下面傳輸過程中swap(

go語言解析命令引數的實現

一、實現程式碼如下 // fffggg project main.go package main import (     "flag"     "fmt" ) func main() {     var num int     var mode string   

C語言strcmp比較兩個字串是否相等

#include<stdio.h> #include<string.h> //比較兩個字串是否相等,(或者說前字串比後字串不同的地方大幾) int My_strcmp( const char *str1

C語言將數字轉化為字串

#include<stdio.h> #include<assert.h> #include<string.h> //123====>“1 2 3” 將數字轉化為字串 char *my_itoa(char *str,i

C語言呼叫子函式,實現選擇排序字串連線

2018年11月14日 19:57:26 return 微明 閱讀數:1 個人分類: C語言

C語言大小寫不敏感之字串比較

自己寫的: #include <stdio.h> int strcmpl(char a[],char b[]) { int i,flag=0; for(i=0;a[i]!='\0'||b[i]!='\0';i++) { if(a[i]-

tensorflow__第一章命令引數的設定(flags=tf.app.flags)

在執行main函式之前首先進行flags的解析,也就是說TensorFlow通過設定flags來傳遞tf.app.run()所需要的引數,我們可以直接在程式執行前初始化flags,也可以在執行程式的時候設定命令列引數來達到傳參的目的。 tf.app.flags的使用 flags = tf.a

tensorflow學習筆記(一)命令引數

全域性環境下編寫程式碼 import tensorflow as tf flags = tf.flags #flags是一個檔案:flags.py,用於處理命令列引數的解析工作 logging =

C/C++程式的命令引數

C++程式的main函式有兩個引數: int main(int argc, char *argv[]) 我以前(大學學習的時候)一直沒有弄清楚這兩個引數的真正目的,一直到做Linux C開發的時候,才知道,原來這兩個引數就是用來提供我們在Linux的終端上執

C語言使用可變引數,實現函式,求函式引數的平均值。

此題的解決思路為:使用可變引數列表,求若干個引數的平均值,所以我們每次呼叫va_arg把它的值累加在sum變數裡,最後讓函式返回sum/n即可求得若干個引數的平均值。 具體程式碼如下: #include <stdio.h> #include <stdli

c語言巨集裡面引數不加括號容易出錯,在使用時儘量加括號及舉例

巨集裡面引數不加括號容易出錯,在使用時儘量加括號程式1:#include<stdio.h>#defineSQARE(X) X*Xint main(){int  n = 10;int m=SQ

C#_WinForm接收命令引數

首先,我要仔細的宣告下,本文講的是接受命令列引數,讓程式啟動。而不是啟動那個黑黑的框。。。我要實現的效果和它麼有關係 網上那些千篇一律,只管Ctrl+C,Ctrl+V,採集來的文章,本人已經深受其害,浪費了不少時間!BS~~ 先看下這篇文章:Winform程式接收

C語言--在命令輸入檔名字並列印檔案內容

C語言程式設計中,經常遇到main函式中argc和argv[]這兩個引數。argc是argument count的縮寫,即引數的個數;argv是argument vector的縮寫,即引數列表。arg

python argparse命令引數解析詳解

## 簡介 本文介紹的是***[argparse](https://docs.python.org/3/library/argparse.html)***模組的基本使用方法,尤其詳細介紹**add_argument**內建方法各個引數的使用及其效果。 本文翻譯自[argparse的官方說明](ht

C語言將三個數按從大到小輸出

將三個數從大到小輸出 思路:將三個數從大到小輸出,跟之前輸出最大值差不多,只是從大到小輸出要把每次比較的最大值輸出,三個數就要比較三次 程式碼如下: #include<stdio.h> int main() { int a,b,c; int temp; sc

C語言存取結構體成員的點運算子(.)箭頭運算子(->)的區別

一直以為這兩個是沒有什麼區別的,可以相互替換,今天又翻了一下《C語言核心技術》,明白了其中的奧妙。 相同點:兩個都是二元操作符,其右操作符是成員的名稱。 不同點:點操作符左邊的運算元是一個“結果為結構”的表示式; 箭頭操作符左邊的運算元是

c語言通過指向結構體變數的指標變數輸出結構體變數中成員的資訊

通過指向結構體變數的指標變數輸出結構體變數中成員的資訊。解:程式:#include<stdio.h>#include<string.h>int main(){struct Stu

C語言每隔一秒,動態首尾依次輸出一個字元,直到全部輸出

#include<stdio.h> #include<stdlib.h> #include<windows.h> void Test() {     char arr1[] = "###############";     char ar