我想創建一個包含50行text.txt文件的C程序。這個text.txt文件應該被分成5個文件,比如text_part1.txt,text_part2.txt等等。 text.txt文件中的50行應該同樣複製到5個文件中的每行10行。使用命令行參數在C程序中創建多個文件
所有這些都必須通過使用命令行參數來完成。我是C初學者,剛剛開始編寫代碼。我不知道如何使用命令行參數。
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
FILE *ptr_readfile;
FILE *ptr_writefile;
char line [100];
char fileoutputname[10];
int filecounter=1, linecounter=1;
ptr_readfile = fopen("C:/home/dir/sample_pg/data/text.txt","r");
if (!ptr_readfile)
return 1;
sprintf(fileoutputname, "file_part%d", filecounter);
ptr_writefile = fopen(fileoutputname, "w");
while (fgets(line, sizeof line, ptr_readfile)!=NULL)
{
if (linecounter == 5)
{
fclose(ptr_writefile);
linecounter = 1;
filecounter++;
sprintf(fileoutputname, "file_part%d", filecounter);
ptr_writefile = fopen(fileoutputname, "w");
if (!ptr_writefile)
return 1;
}
fprintf(ptr_writefile,"%s\n", line);
linecounter++;
}
fclose(ptr_readfile);
return 0;
}
這[鏈接](http://www.tutorialspoint.com/cprogramming/c_command_line_arguments.htm)是第一個出現在谷歌搜索。 –
好吧... Thnaks爲您的時間,立即回覆。請告訴我,創建多個文件的代碼是否正確,因爲我沒有在指定路徑中找到任何文本文件 – Yogarajan
您需要**編譯所有警告和調試信息**(例如'gcc -Wall -Wextra -g' if使用[GCC](http://gcc.gnu.org/)....)然後學習如何使用調試器** –