C ++:尝试写入文件

时间:2016-10-04 05:05:50

标签: c++

C ++新手。该程序的目的是为用户提供打开文件,写入文件,然后读取刚刚写入的文件并显示文件中现在的文件的选项。当它接收用户输入时,但在点击输入后它将崩溃。我认为它在尝试读取文件时会崩溃吗?

#include <stdio.h>
#define SIZE 80
#include <iostream>
int main(void)
{
FILE * pFile;
int c; // variable to hold character input by user
char sentence[SIZE]; // create char array
char filename[SIZE]; //create filename array
char filesentence[SIZE];
int i = 0; // initialize counter i
int number;
std::cout << "Give a number. 1 for file. Anything else for standard.";
std::cin >> number;
getchar();




if(number==1)
{

    puts("Enter filename to append: ");
    while ((i < SIZE-1) && (c = getchar()) != '\n') {
    filename[i++] = c;}

    filename[i]= '\0';



    //fgetc(sentence,80,stdin);
    pFile=fopen(filename,"w+");

    puts("Give a sentence to place in file:");
    while ((i < SIZE-1) && (c = getchar()) != '\n') {
    sentence[i++] = c;}

    sentence[i]= '\0';

    fputs(sentence,pFile);

    i=0;
    do {
      c = fgetc (pFile);
      filesentence[i++] = c;
      printf(filesentence);   
    } while (c != EOF);

    fclose (pFile);


}
else
{

    // prompt user to enter line of text
    puts("Enter a line of text:");

    // use getchar to read each character
    while ((i < SIZE-1) && (c = getchar()) != '\n') {
    sentence[i++] = c;}

    sentence[i]= '\0';

    // terminate string
    // use puts to display sentence

    puts("\nThe line entered was:");
    puts(sentence);
}


}

0 个答案:

没有答案