練習用です。いろんなものがごちゃまぜです。
| @@ -322,7 +322,7 @@ | ||
| 322 | 322 | int i; |
| 323 | 323 | if (LineCount > 0) { |
| 324 | 324 | for (i = start; i <= end;i++) { |
| 325 | - PrintLine( i, Lines[i - 1]); | |
| 325 | + PrintLine(i, Lines[i - 1]); | |
| 326 | 326 | } |
| 327 | 327 | } |
| 328 | 328 | else { |
| @@ -340,7 +340,8 @@ | ||
| 340 | 340 | fp = fopen(fileName, "r"); |
| 341 | 341 | if (fp == NULL) { |
| 342 | 342 | result = ERROR_CANNOT_OPEN_FILE; |
| 343 | - } else { | |
| 343 | + } | |
| 344 | + else { | |
| 344 | 345 | while (NULL != fgets(buffer, MAX_CHAR, fp)) { |
| 345 | 346 | LineCount++; |
| 346 | 347 | } |
| @@ -350,7 +351,7 @@ | ||
| 350 | 351 | pLine = Lines; |
| 351 | 352 | |
| 352 | 353 | c = '\0'; |
| 353 | - while (c != EOF) { | |
| 354 | + while (c != EOF) { | |
| 354 | 355 | c = getc(fp); |
| 355 | 356 | if ((c == '\n') || ((c == EOF) && (i != 0))) { |
| 356 | 357 | buffer[i] = '\n'; |
| @@ -372,8 +373,37 @@ | ||
| 372 | 373 | return result; |
| 373 | 374 | } |
| 374 | 375 | int Quit() { |
| 375 | - return 0; | |
| 376 | + char command; | |
| 377 | + int result = SUCCESS; | |
| 378 | + | |
| 379 | + printf("保存しますか?(Y/N):"); | |
| 380 | + command = tolower(getchar()); | |
| 381 | + if (command == 'Y'){ | |
| 382 | + result = SaveFile(FileName); | |
| 383 | + } | |
| 384 | + return result; | |
| 376 | 385 | } |
| 377 | 386 | int SaveFile(char *fileName) { |
| 378 | - return 0; | |
| 387 | + FILE *fp; | |
| 388 | + int i; | |
| 389 | + int result = SUCCESS; | |
| 390 | + | |
| 391 | + if (LineCount > 0) { | |
| 392 | + fp = fopen(fileName, "w"); | |
| 393 | + if (fp == NULL) { | |
| 394 | + result = ERROR_CANNOT_OPEN_FILE; | |
| 395 | + } | |
| 396 | + else { | |
| 397 | + for (i = 0; i < LineCount; i++) { | |
| 398 | + fputs(Lines[i], fp); | |
| 399 | + } | |
| 400 | + if (0 != fclose(fp)) { | |
| 401 | + result = ERROR_CANNOT_CLOSE_FILE; | |
| 402 | + } | |
| 403 | + } | |
| 404 | + } | |
| 405 | + else { | |
| 406 | + remove(fileName); | |
| 407 | + } | |
| 408 | + return result; | |
| 379 | 409 | } |
| \ No newline at end of file |