извините за мой плохой английский,
Я сделал программу, которая читает строки из файла1 и печатает его обратно в файл2
в File1 все строки имеют \ n в конце, кроме последнего. Это не обязательно должен быть снеговик. Если я просто запустил программу без strcat \ n в Последней строке, то выходной файл2 будет показан как нижний. Поэтому я пытаюсь выполнить strcat \ n до последней строки в этом процессе strcat (buffer [9], "\ n"); работал но strcat (буфер [9], '\ n'); не было. Почему это случилось?
// FILE 1
Do you wanna build a snowman?\n
Come on lets go and play\n
I never see you anymore\n
Come out the door\n
It's like you've gone away-\n
We used to be best buddies\n
And now we're not\n
I wish you would tell me why!-\n
Do you wanna build a snowman?\n
It doesn't have to be a snowman.
// FILE 2
It doesn't have to be a snowman.Do you wanna build a snowman?\n
I wish you would tell me why!-\n
And now we're not\n
We used to be best buddies\n
It's like you've gone away-\n
Come out the door\n
I never see you anymore\n
Come on lets go and play\n
Do you wanna build a snowman?\n
include <stdio.h>
include <string.h>
define LINE 50
int main(int argc, char *argv[])
{
if (argc < 3)
{
puts("Usage : hw9 inputFileName OutputFileName");
exit(1);
}
FILE *fp, *fp2;
fp = fopen(argv[1],"r");
fp2 = fopen(argv[2], "w");
char *buffer[15][LINE];
char *buffer2[15];
if(fp == NULL || fp2 == NULL)
{
printf("File open error! \n");
return 1;
};
int i = 0;
while (fgets(buffer[i],LINE,fp)!=NULL)
{
buffer2[10-i] = buffer[i];
printf("buffer2[%d] : %s\n", 10-i, buffer2[10-i]);
i++;
}
working!
strcat(buffer[9], "\n");
error! why?
//strcat(buffer[9], '\n');
fprintf(fp2, buffer2[1]);
for (int i = 2; i <= 10; ++i)
fprintf(fp2, buffer2[i]);
fclose(fp);
fclose(fp2);
return 0;
}