Here is the problem:
Write a program to open a text file named "CSC2134.TXT" for output, then
accept lines of text from the console and write the lines of text to the
file. An empty string can be used to cause the program to quit accepting
lines of text from the console and close the file. To test for an empty
string (which occurs when you press the Enter key without typing any text),
use the strlen() function from the string.h include file. This function will
return an integer value indicating the number of characters in a string. Here
is an example program to show you how strlen() works:
#include <iostream>
#include <string>
using namespace std;
int main() {
char str[] = { "123456789012345" };
cout << strlen(str) << endl;
return 0;
}
You will find a submethod of cin useful. Here is an example:
cout << "enter some text:";
cin.getline(str, 80); // str is returned when the enter key is pressed
Here is an example of how the input should be done:
Enter text: Now is the time
Enter text: for all good men
Enter text: to come to the aid
Enter text: of their party.
Enter text: (Enter key pressed)
(program ends)
This is my code so far:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(void)
{
char str[] = { "123456789012345" };
char strlen [80];
ofstream file1; //declare the file variable
file1.open("CSC2134.TXT"); //open the file for output
cout << "Enter some text: ";
cin.getline(str, 80); //str is returned when enter key is pressed
if (strlen == 0)
return 0;
else
{
cout << "Enter some text: ";
cin.getline(str, 80); //str is returned when enter key is pressed
}
if(file1 == 0)
{
cout << "error opening CSC2134.TXT" << endl;
return 1;
}
file1.close(); //close file
return 0;
}
|
The problem is that the program runs only twice and then stops. I need it to keep asking for text input until nothing is entered. I also need it to print. I'm sure I have a loop wrong somewhere.