Форум программистов, компьютерный форум CyberForum.ru

Выдает ошибку в месте копирования строк - C++

Восстановить пароль Регистрация
 
Bandiyos1603
0 / 0 / 0
Регистрация: 20.03.2012
Сообщений: 16
10.04.2012, 11:57     Выдает ошибку в месте копирования строк #1
Во время копирования строки s2 в s1 выдает ошибку.



C++
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
//Дан текстовый файл. Найти самое короткое слово.
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ifstream fp("test2.txt");
int s[20],s1,s2;
//слова длины не больше 20
char s1;
if (!fp.fail())
{
//пока не конец файла
while (!fp.eof())
{
//читаем слово из файла
fp>>s1;
//выводим на экран
cout<<s<<"\n";
}
fp.close();
}
else
cout<<"file not found";
//демонстрация функций для работы со строками
char s1[20]="example1";
cout<<endl;
cout<<"s1="<<s1<<endl;
//длина строки strlen())<<endl;
//копирование строки strcpy()
//вывод строк до копирования
cout<<"s1="<<s1<<endl;
//копирование s2 в s1
strcpy(s1);
//вывод строк после копирования
cout<<"s1="<<s1<<endl;
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2012, 11:57     Выдает ошибку в месте копирования строк
Посмотрите здесь:

игра ипподром . выдает ошибку на этом месте C++
выдает ошибку C++
C++ С++ выдает ошибку
выдает ошибку( C++
Выдает ошибку C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Глупец
23 / 23 / 1
Регистрация: 17.05.2011
Сообщений: 141
10.04.2012, 12:37     Выдает ошибку в месте копирования строк #2
во первых
C++
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
//Дан текстовый файл. Найти самое короткое слово.
 #include<iostream>
 #include<fstream>
 using namespace std;
 int main(void)
 {
    ifstream fp("test2.txt");
    int s[20],s1,s2;//<-------S1 - это во вторых
    //слова длины не больше 20
    char s1;//<-------S1
    
    if (!fp.fail())
    {
        //пока не конец файла
        while (!fp.eof())
        {
            //читаем слово из файла
            fp>>s1;
            //выводим на экран
            cout<<s<<"\n";
        }
        fp.close();
    }
    else cout<<"file not found";
    
    //демонстрация функций для работы со строками
    char s1[20]="example1";
    cout<<endl;
    cout<<"s1="<<s1<<endl;
    //длина строки strlen())<<endl;
    //копирование строки strcpy()
    //вывод строк до копирования
    cout<<"s1="<<s1<<endl;
    //копирование s2 в s1
    strcpy(s1);
    //вывод строк после копирования
    cout<<"s1="<<s1<<endl;
    return 0;
 }
Bandiyos1603
0 / 0 / 0
Регистрация: 20.03.2012
Сообщений: 16
10.04.2012, 12:38  [ТС]     Выдает ошибку в месте копирования строк #3
Учту на будущее ))
Глупец
23 / 23 / 1
Регистрация: 17.05.2011
Сообщений: 141
10.04.2012, 12:47     Выдает ошибку в месте копирования строк #4
да и вообще http://www.cplusplus.com/reference/c...string/strcpy/
и под s1 надо что-то выделить...

Добавлено через 7 минут
если я все правильно понял, ибо написано у тебя вообще что-то странное - ты везде только s1 используешь...
C++
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
//Дан текстовый файл. Найти самое короткое слово.
 #include<iostream>
 #include<fstream>
 using namespace std;
 int main(void)
 {
    ifstream fp("test2.txt");
    int s[20],s1[20];
    //слова длины не больше 20
    
    if (!fp.fail())
    {
        //пока не конец файла
        while (!fp.eof())
        {
            //читаем слово из файла
            fp>>s1;
            if(fp.gcount() == 0)break;
            //выводим на экран
            cout<<s<<"\n";
        }
        fp.close();
    }
    else cout<<"file not found";
    
    //демонстрация функций для работы со строками
    sprintf(s2,"example1");
    cout<<endl;
    cout<<"s2="<<s2<<endl<<"strlen:"<<strlen(s2)<<endl;
    //длина строки strlen())<<endl;
    //копирование строки strcpy()
    //вывод строк до копирования
    cout<<"s1="<<s1<<endl;
    //копирование s2 в s1
    strcpy(s1,s2);
    //вывод строк после копирования
    cout<<"s1="<<s1<<endl;
    return 0;
 }
Yandex
Объявления
10.04.2012, 12:47     Выдает ошибку в месте копирования строк
Ответ Создать тему
Опции темы

Текущее время: 09:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru