string* map_signal_atp()
{
ifstream infile;
string path = "C:\\Users\\W\\Desktop\\DH3_Clipper_FT_2Site_teserv_V01.stil";
infile.open(path);
string str;
int RunFlag = 0;
int lines = 0;
string map_signal[64];
while (!infile.eof())
{
getline(infile, str);
switch (RunFlag)
{
case 1:
for (size_t i = 2; i < str.length(); i++)
{
if (str[i] == ' ')
{
break;
}
map_signal[lines] += str[i];
}
lines++;
break;
default:
break;
}
if (lines == 64)
{
break;
}
string::size_type idx_map;
idx_map = str.find("Signals {");
if (idx_map != string::npos)
{
RunFlag = 1;
}
}
return map_signal;
}
//map_signal[0] 为 GPOIO_0
int main()
{
string* map_signal=new string[64];
string dsa = *(map_signal + 0);
}
//dsa赋值时为空
map_signal是函数内定义的局部变量,函数执行结束后,内存空间就被回收了,你外部想用的时候,已经物是人非啦
void map_signal_atp(string *map_signal,int strlen)
{
}
int main()
{
string* map_signal=new string[64];
map_signal_atp(map_signal,64);
}
尽量避免使用 string *
c++实现了很多算法和模板,多用用stl吧,
你这里完全用vector<string>来代替,vector不香吗,vector也是动态的
也许对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html