运行这段代码时出现错误
string line;
getline (myfile,line);
char file_input[15];
strncpy(file_input, line, 6);
cout << line << endl;
错误 - 无法将参数'2'的'std :: string'转换为'const char *'为'char * strncpy(char *,const char *,size_t)' 如何摆脱这个?
答案 0 :(得分:5)
答案 1 :(得分:3)
strncpy(file_input, line.c_str(), 6);
但是你为什么要首先使用固定长度缓冲区file_input
?将其构建为包含std::string
中前五个字符的新line
会更安全:
std::string file_input(line, 0, 5);