다른 문자 배열에 텍스트 (문자 배열)를 삽입하려고합니다. 나는이 strcpy를 사용하지만, 때때로 쇼 (항상) 이상한 징후, 좀 걸릴 : 그들char 배열을 다른 char 배열에 삽입하는 방법은 무엇입니까?
어떻게 제거 할 수 있습니까? Heres는
내 코드 : 수정 됨
#include <string>
#include <string.h>
#include <time.h>
#include <stdio.h>
#include <iostream>
using namespace std;
const string currentDateTime() {
time_t now = time(0);
struct tm tstruct;
char buf[80];
tstruct = *localtime(&now);
strftime(buf, sizeof(buf), "%X", &tstruct);
return buf;
}
char *addLogin(char *login, char buf[])
{
string b(buf);
string l(login);
string time = currentDateTime();
string res = time;
res += l;
res += b;
return const_cast<char*>(res.c_str());
}
int main(int argc, char **argv)
{
char buf[1024];
strcpy(buf, " some text");
char *login = "Brian Brown";
char *temp = addLogin(login, buf);
strcpy(buf, temp);
printf("%s\n", buf);
return 0;
}
:
const string currentDateTime() {
time_t now = time(0);
struct tm tstruct;
char buf[80];
tstruct = *localtime(&now);
strftime(buf, sizeof(buf), "%X", &tstruct);
string b(buf);
return b;
}
하고 기능 currentDateTime()
지금부터
memset에서 왜'& buf'인지는 배열 이름이 주소를 부여하기 때문에'buf'이어야합니다. – Omkant
이것은 C++가 아닙니다 C –
sprintf는 무엇을위한 것입니까? –