Строки

Тема в разделе "MS Visual C++", создана пользователем Dareami, 14 апр 2010.

  1. Dareami

    Dareami Гость

    Помогите найти ошибки пожалуйста!)
    Код (C++):
    #include "stdafx.h"
    #include <windows.h>
    #include <iostream>
    #include <stdio.h>

    using namespace std;

    void Text5(char *fname, char *s);
    void Text6(char *fn1, char *fn2);

    void main (){
    const int N=1024;
    char *s = new char [N];

    SetConsoleOutputCP (1251);
    SetConsoleCP(1251);

    cout << "\nCтрока?";
    cin.getline(s, N-1);

    Text5("1.txt", s);
    Text6("2.txt", "1.txt");

    delete []s;
    }//main

    void Text5(char *fname, char *s)
    {
    FILE *f;
    f = fopen(fname, "r+");
    if (!f){
    cout << "\nОшибка!Файл отсутствует!" << fname<<"\n\n";
    return;
    }//if
    //переход в конец файла
    fseek(f, 0, SEEK_END);
    //Дописать s в конец файла
    fputs (s, f); fputs("\n", f);
    //Закончить файл
    fclose (f);
    }//Text

    void Text6(char *fn1, char *fn2)
    {
    FILE *f, *f2;
    //в конец fn1 записать содержимие fn2

    f1 = fopen(fn1, "r+");
    if (!f2){
    cout << "Ошибка!Файл отсутствует! " << fn1 << "\n";
    return;
    }//if
    f2 = fopen (fn2, "r");
    if(!f2){
    cout << "Ошибка!Файл отсутствует! " << fn2 << "\n";
    fclose(f1);
    return;
    }//if
    //переход в конец f1
    fseek(f1, 0, SEEK_END);
    char *s = new char [1024];
    //чтение из f2 и запись в f1
    while(fgets(s,1024.f2));
    {
    fputs(s,f1);
    }//while
    //закрываем файлы
    fclose(f1);
    fclose(f2);
    }//text
     
  2. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    . опечатка?
     
  3. Dareami

    Dareami Гость

    Да нет, разве тут ошибка?)
     
  4. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    ну, в коде я вижу точку вместо запятой. Или я чего-то не понимаю и не помню?

    Добавлено: кстати, а где у Вас ошибка и что за ошибка? :O_0:
     
  5. Dareami

    Dareami Гость

    А у вас Visual Studio есть что б проверить?
    Если нет то щас напишу:
    Ошибка 1 error C2065: f1: необъявленный идентификатор d:\visual\text5,6\text5,6\text5,6.cpp 30 text5,6
    Вот собственно говоря!(
     
  6. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    так тут всё Вам написано, в чем проблема-то? код не Ваш, читать не умеем? :O_0: надо FILE *f1, *f2;
    студии нет и пока не предвидится)))
    я просто опечатку с точкой заметила, когда форматировала Ваш код тегом code... и написала
     
  7. Dareami

    Dareami Гость

    теперь в другом месте пишет
    Ошибка 1 error C2065: f1: необъявленный идентификатор d:\visual\text5,6\text5,6\text5,6.cpp 31 text5,6
    Я как бы не программист)
     
  8. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    а я как бы программист, но не сишник)))
    посмотрите, что отметила !
    остальное не смотрела и не правила, ес-но.
    Код (C++):
    void Text6(char *fn1, char *fn2)
    {
    FILE *f1, *f2; // !!!!!!!!!!! f1
    //в конец fn1 записать содержимие fn2

    f1 = fopen(fn1, "r+");
    if (!f1){ // !!!!!!!!!!! f1
    cout << "Ошибка!Файл отсутствует! " << fn1 << "\n";
    return;
    }//if
    f2 = fopen (fn2, "r");
    if(!f2){
    cout << "Ошибка!Файл отсутствует! " << fn2 << "\n";
    fclose(f1);
    return;
    }//if
    //переход в конец f1
    fseek(f1, 0, SEEK_END);
    char *s = new char [1024];
    //чтение из f2 и запись в f1
    while(fgets(s,1024, f2)); // !!!!!!!!!!  ,
    {
    fputs(s,f1);
    }//while
    //закрываем файлы
    fclose(f1);
    fclose(f2);
    }//text
     
  9. Dareami

    Dareami Гость

    Почему то копирует из 1 файла и записывает в первый, я не знаю в чём я уже тупнул...
    Вот мой код:
    Код (LotusScript):
    #include "stdafx.h"
    #include <iostream>
    #include <windows.h>
    #include <iomanip>
    #include <stdio.h>

    using namespace std;

    void Text5(char *fname, char *s);
    void Text6(char *fn1, char *fn2);

    void main (){
    const int N=1024;
    char *s = new char [N];

    SetConsoleOutputCP (1251);
    SetConsoleCP(1251);

    cout << "\nCтрока?";
    cin.getline(s, N-1);

    Text5("1.txt", s);
    Text6("2.txt", "1.txt");

    delete []s;
    }//main

    void Text5(char *fname, char *s)
    {
    FILE *f;
    f = fopen(fname, "r+");
    if (!f){
    cout << "\nОшибка!Файл отсутствует!" << fname<<"\n\n";
    return;
    }//if
    //переход в конец файла
    fseek(f, 0, SEEK_END);

    //Дописать в конец файла
    fputs (s, f); fputs("\n", f);

    //Закончить файл
    fclose (f);
    }//Text

    void Text6(char *fn1, char *fn2)
    {
    FILE *f1, *f2;

    //в конец fn1 записать содержимие fn2

    f1 = fopen(fn2, "r+");
    if (!f1){
    cout << "Ошибка!Файл отсутствует! " << fn1 << "\n";
    return;
    }//if
    f2 = fopen (fn2, "r");
    if(!f2){
    cout << "Ошибка!Файл отсутствует! " << fn2 << "\n";
    fclose(f1);
    return;
    }//if[f
    //переход в конец f1
    fseek(f1, 0, SEEK_END);
    char *s = new char [1024];

    //чтение из f2 и запись в f1
    while(fgets(s,1024,f2))//
    {
    fputs(s,f1);
    }//while

    //закрываем файлы
    fclose(f1);
    fclose(f2);
    }//text
     
  10. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7

    Добавлено: внимательней надо... в стартовом посте, первоначально же правильно там всё было написано ;)
    я ж с Вашего варианта копировала)))
     
Загрузка...

Поделиться этой страницей