Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
Автор: 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]
Сообщение:
Прикрепить: