Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: cheops   (17.01.2007 в 14:46)
1) Имена в C++ зависят от регистра, поэтому file и FILE - это разные имена. Если вы используете стандартную библиотеку для открытия файла, следует использовать FILE
2) Одиночные кавычки используются только для символов, т.е. типа char, двойные - для строк, т.е. char *. Поэтому писать 'database.txt' нельзя - только "database.txt"
3) Оператор + не реализован для строк char * - его нужно перегружать или использовать более продвинутые строки. Поэтому писать nick + "\t" + msg + "\n" - нельзя, для объединения char * строк следует использовать функцию strcat().
Т.е. в конечном итоге программа может выглядеть следующим образом
#include <iostream.h> 
#include <stdio.h> 
#include <string.h> 

void main() { 
 char nick[60]; 
 char msg[200];
 char tmp[1000];

 cout << "Ник:\n"
 cin >> nick; 
 if (strlen(nick) < 3) 
 { 
  cout << "Слишком короткий ник"
 } 
 else 
 { 
  cout << "Сообщение:\n"
  cin >> msg; 
  if (strlen(msg) < 2) 
  { 
   cout << "Слишком короткое сообщение"
  } 
  else 
  { 
   FILE *fp = fopen ("database.txt""a"); 
   if (!fp) 
   { 
    cout << "Ошибка открытия файла"
   } 
   else 
   { 
    strcat(tmp, nick);
    strcat(tmp,"\t");
    strcat(tmp,msg);
    strcat(tmp,"\n");
    fputs (tmp, fp); 
    fclose (fp); 
    cout << "\n\nСообщение записано"
   } 
  } 
 } 
}


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: