Запуск тестовой программы...135
«Лучший способ исправить ошибки в программе — пройти её пошагово. Приведённая ниже программа содержит несколько ошибок, которые надо найти и исправить. Эта программа имеется на прилагаемом компакт-диске в файле Concatenate1.срр.»
[Диск]
/* Concatenate - конкатенация двух строк */
/* со вставкой " - " между ними. В этой версии имеются ошибки. */
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <string.h>
using namespace std ;
void stringEmUp( char* szTarget ,
char* szSource1 ,
char* szSource2 ,
int nLength ) ;
int main( int nNumberofArgs , char* pszArgs[ ] )
{
/* печать кириллицы, если Вы не установите программки gccrus.exe и g++rus.exe */
setlocale (LC_ALL,".1251");
cout << "Конкатенация двух строк со вставкой " - " "
<< "( В этой версии имеются ошибки. )" << endl ;
char szStrBuffer[ 256 ] ;
/* Создание двух строк одинаковой длины... */
char szString1[ 16 ] ;
strncpy( szString1 , "This is a string" , 16 ) ;
char szString2[ 16 ] ;
strncpy( szString2 , "THIS IS A STRING" , 16 ) ;
/* ...и объединение их в одну */
stringEmUp( szStrBuffer ,
szString1 ,
szString2 ,
16 ) ;
// Вывод результата
cout << "<" << szStrBuffer << ">" << endl ;
/* Пауза для того, чтобы посмотреть на результат работы программы */
system( "PAUSE" ) ; return 0 ;
}
void stringEmUp(char* szTarget,
char* szSource1,
char* szSource2,
int nLength)
{
strcpy( szTarget , szSource1 ) ;
strcat( szTarget , " - " ) ;
strcat( szTarget , szSource2 ) ;
}
_________________
135 стр. Глава 10. Отладка программ на С++
Соберите и запустите программу. Вместо объединения двух строк программа может вернуть всё, что угодно. Нам надо обратиться к отладчику, чтобы разобраться, что же в этой программе не так.
Больше книг — больше знаний!
Заберите 20% скидку на все книги Литрес с нашим промокодом
ПОЛУЧИТЬ СКИДКУ