這是一個簡單的示例程序:如何在C++函數中返回字符串?
#include <iostream>
#include <string>
using namespace std;
string replaceSubstring(string, string, string);
int main()
{
string str1, str2, str3;
cout << "These are the strings: " << endl;
cout << "str1: \"the dog jumped over the fence\"" << endl;
cout << "str2: \"the\"" << endl;
cout << "str3: \"that\"" << endl << endl;
cout << "This program will search str1 for str2 and replace it with str3\n\n";
cout << "The new str1: " << replaceSubstring(str1, str2, str3);
cout << endl << endl;
}
string replaceSubstring(string s1, string s2, string s3)
{
int index = s1.find(s2, 0);
s1.replace(index, s2.length(), s3);
return s1;
}
它編譯但該函數返回什麼。如果我將return s1
更改爲return "asdf"
,它將返回asdf
。我怎樣才能返回一個字符串與此功能?
你實際上並沒有初始化你的字符串變量。 – Cairnarvon
爲什麼你認爲返回字符串有問題?檢查函數內部字符串的值。 – juanchopanza
你輸出的文本只是編譯器的文本 - 它不會試圖弄清楚那些文本的含義,也不會保留你的承諾。畢竟,也許你*意味着*撒謊給用戶。 – Steve314