Debugging a C++ Program to Replace Strings

AI Thread Summary
The discussion centers on debugging a C++ program designed to replace substrings within a string. The code provided compiles but does not function as intended, leading to questions about its execution and debugging process. Users emphasize the importance of demonstrating the debugging process rather than seeking direct solutions. The original poster eventually resolves the issue, confirming that the program works correctly for complex cases. The conversation highlights the significance of understanding code behavior and the debugging process in programming.
Petkovsky
Messages
61
Reaction score
0

Homework Statement



Ok, i need to make a program that will search for a substring in a given string, and replace it with another one.

The Attempt at a Solution



Code:
#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;int fsubstitute(char *ulazni, char *prvi, char *drugi);

int main()
{
	char initial[255];
	char find[255];
	char replace[255];

	gets(initial);
	gets(find);
	gets(replace);

	fsubstitute(initial,find,replace);
	
	
}

int fsubstitute(char *initial, char *find, char *replace)
{
    char *temp1;
       
    int i,j,k,c,l,n;
    i = j = k = c = l = n = 0;
    
    
    n = strlen(find);
    l = strlen(initial);
    char temp2[200];
   
    do{
        
        
        if(strstr(initial,find)!= NULL)
        {
        temp1 = strstr(initial,find)+ n; 
       
        for(i=0;i<l-strlen(temp1)-n;i++)
        temp2[i] = *(initial+i);
        temp2[i] = '\0';
        
        initial = temp2;
        
        initial = strcat(initial,replace);
        initial = strcat(initial,temp1);
        
        }
    }while(strstr(initial,find)!= NULL);
    cout << initial << endl;
    
    return 0;
};

I used cout since it is easier to write, and that's why i included a c++ library/

Can you tell me what's wrong with my code?
 
Physics news on Phys.org
Does it compile? If not, what is the message?

If it does compile, does it compile clean with all warnings enabled?

Have you used a debugger? If so, where did your code behave other than you expected?

If you haven't used a debugger, why not?
 
D H said:
Does it compile? If not, what is the message?

If it does compile, does it compile clean with all warnings enabled?

Have you used a debugger? If so, where did your code behave other than you expected?

If you haven't used a debugger, why not?

I mean everything's fine with the syntax, it just won't do its job.
 
So, have you debugged your program? Do you even know what that means?

We treat computer programming problems here the same as physics homework problems: You have to show your work. In the case of a computer program, showing your work means you telling us a bit about the execution of your program. We don't do physics homework for students because that is a disservice. The same goes for us debugging your program for you.
 
I solved it, thanks for the help anyway.
 
Does your program work for nasty cases, for example initial="this is a test", find="is", replace="this"?
 
Yes it does :)
 

Similar threads

Replies
2
Views
2K
Replies
7
Views
2K
Replies
14
Views
5K
Replies
3
Views
1K
Replies
2
Views
2K
Replies
3
Views
2K
Back
Top