前提・実現したいこと
C言語を用いて、ファイルの入出力を行うコードの実装を考えています。
実装の要件としてはコマンドライン引数で "ファイル名 個数"を入力し、個数分の乱数を作成し1行ずつファイルに入力するものです。
./test.exe hoge.txt 5 <hoge.txt> 123 921 102 888 983
ファイルを作成して、乱数を書き込む所までは上手く行ったのですが、乱数に改行を入れながら書き込む事が上手くいきません。
該当のソースコード
C
1#include <stdlib.h> 2#include <unistd.h> 3#include <sys/types.h> 4#include <sys/stat.h> 5#include <fcntl.h> 6#include <errno.h> 7#include <string.h> 8#include <stdio.h> 9 10#include <time.h> 11 12#define COUNTOF(x) (sizeof(x) / sizeof(*(x))) 13 14int main(int argc, char *argv[]) { 15 16 int LineCount; 17 LineCount = atoi(argv[2]); 18 19 if (LineCount <= 1){ 20 printf("%d \n",LineCount); 21 printf("Enter the Positive integer "); 22 } 23 24 FILE *file; 25 file = fopen(argv[1],"w"); 26 27 srand((unsigned int)time(NULL)*(unsigned int)time(NULL)*(unsigned int)time(NULL)); 28 for(int i = 0; i < LineCount; i++){ 29 30 int RandomNumber; 31 32 RandomNumber = rand(); 33 34 char RandomStr[100]; 35 RandomStr[COUNTOF(RandomStr)-1] = '\n'; 36 snprintf(RandomStr, 100, "%d", (RandomNumber)); 37 38 fprintf(file,RandomStr); 39 40 } 41 42 exit(0); 43}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/08 12:40