C++ 正在查找状态\堆栈\缓冲区\溢出的源
在我的程序中,我在while循环中使用switch语句来生成用户菜单。当运行我的前两个选项时,我已经编码好了,可以正常工作,然后返回到用户菜单。但是,当输入'9'退出选项时,我碰到了一个断点,并得到一条消息,说明遇到了状态\缓冲区\溢出。由于不太清楚内存分配是如何工作的,我有点困惑是什么导致了这个问题 这是我的main.cpp文件的代码C++ 正在查找状态\堆栈\缓冲区\溢出的源,c++,memory,buffer,C++,Memory,Buffer,在我的程序中,我在while循环中使用switch语句来生成用户菜单。当运行我的前两个选项时,我已经编码好了,可以正常工作,然后返回到用户菜单。但是,当输入'9'退出选项时,我碰到了一个断点,并得到一条消息,说明遇到了状态\缓冲区\溢出。由于不太清楚内存分配是如何工作的,我有点困惑是什么导致了这个问题 这是我的main.cpp文件的代码 #include<string> #include<iostream> #include "twitcurl.h" #include "
#include<string>
#include<iostream>
#include "twitcurl.h"
#include "curl/curl.h"
#include"classes.h"
FILE _iob[] = { *stdin, *stdout, *stderr };
extern "C" FILE * __cdecl __iob_func(void)
{
return _iob;
}
void oauthLogin(twitCurl &twitterObj);
bool login(twitCurl&);
int main(int argc, char *argv[])
{
//make twitcurl instance
twitCurl twitterObj;
bool load = true;
oauthLogin(twitterObj);
load = login(twitterObj);
if (load == false)
{std::cout << "error." << std::endl; }
else
{
user currentUser;
currentUser.loadUserData(twitterObj);
char menuChoice;
//user is now logged in. Give them menus screen.
do
{
std::cout << "1 - View your timeline.\n";
std::cout << "2 - Send tweet.\n";
std::cout << "3 - See Recommended Hashtags.\n";
std::cout << "4 - See Degrees of separation.\n";
std::cout << "9 - Exit. \n";
std::cout << "Enter your choice and press return: "; std::cin >> menuChoice;
} while (menuChoice != '9');
switch (menuChoice)
{
case '1':
currentUser.loadTimeline(twitterObj);
break;
case '2':
currentUser.sendTweet(twitterObj);
break;
case'9':
break;
default:
std::cout << "Pick a valid choice.\n" << std::endl;
std::cout << "Please enter a valid choice." << std::endl;
break;
}
}
return 0;
};
#包括
#包括
#包括“twitcurl.h”
#包括“curl/curl.h”
#包括“classes.h”
文件_iob[]={*stdin,*stdout,*stderr};
外部“C”文件*\uuuu cdecl\uuuu iob\u func(无效)
{
返回iob;
}
void oauthLogin(twitCurl和twitterObj);
bool登录(twitCurl&);
int main(int argc,char*argv[])
{
//创建twitcurl实例
twitCurl-twitterObj;
布尔负荷=真;
oauthLogin(twitterObj);
加载=登录(twitterObj);
if(load==false)
{std::cout然而,当输入'9'退出选项时,我碰到了一个断点,并得到一条消息说遇到了状态\u缓冲区\u溢出——这并不意味着“9”选项是问题所在。可能是选项1和/或2。对这些调用进行注释,看看会发生什么。@PaulMcKenzie,为回复人干杯。我刚刚尝试了你在那里提出的建议,但仍然遇到了与以前相同的断点。出于好奇,我尝试对“user”类“currentUser”的实例进行注释还有我在那之后的一行中调用的成员函数。我仍然遇到同样的问题:/@PaulMcKenzie也在使用后对我的所有字符串尝试了.clear()