문제

I have this code

  char * oldname = new char[strlen(name) + 1];

  memcpy(oldname,name,strlen(name) + 1);

  name = new char[strlen(oldname) + strlen(r.name) + 1];
  memset(name, '\0', strlen(name));

  strcat(name,oldname);
  strcat(name," ");
  strcat(name,r.name);

I understand that it is a no no to use memcpy and memset but I haven't understood exactly how to use this in C++, preferably without std.

Does anyone know? Thank you.

도움이 되었습니까?

해결책 7

예, 모든 콘텐츠 배포 작업은 동시에 동시에 실행할 수 있지만 이전 요소가 이미 " 준비중인 경우 다른 콘텐츠 배포 작업을 시작하지 않도록해야합니다. "모드.Content Deployment 작업이 동일한 콘텐츠 데이터베이스에서 SQL 스냅 샷으로 구성된 경우 특히 다른 콘텐츠 배포 작업을 병렬로 실행하면서 과거의 문제에 직면했습니다.

콘텐츠 배포의 다른 상태 당신이 들여다 볼 수 있습니다 : 여기에 이미지 설명

다른 팁

완료되지 않은 연체 된 작업을 볼 수있는 경우 시작 날짜가 필요하지 않습니다.

현재 날짜 타겟 완료 날짜 가 필요합니다. 현재 날짜> 대상 완료 날짜 에있는 경우 작업이 목록에 올라갑니다. 왜 종료 날짜 (실제 종료 날짜)를 참조하는 이유가 확실하지 않습니다. 실제 종료일이 일단 일 경우 작업이 완료되었음을 의미합니다. 실제 종료일에 이루어 졌으므로 더 이상 연체되지 않습니다.

기한이 가치가 완료되지 않은 작업 목록과 완료된 작업 목록을 보려면 완료된 작업 목록을 보거나 타겟팅 된 날짜를 지나치게 완료해야합니다. 다음을 이해해야합니다. 대상 날짜가 호출 된 것입니다. '기준 마감일'. 이것은 원래 예상되는 마침 날짜이며, 이는 완성 된 작업의 현재 진행 상황을 비교하고 완료된 작업을 비교하는 것과 비교합니다.

현재, 불완전한 작업의 경우, 태스크는 '미끄러짐', '늦게', 'overdue', 현재 날짜> 대상 날짜,

완성 된 작업의 경우 실제 마침 날짜> 대상 날짜가 늦은 작업이 늦게 나타났습니다.

MS 프로젝트에서는 실제로 기준선 마감 (대상 완료 날짜), 완료 (현재 현실을 기준으로 현재 예상되는 마침 일) 및 실제 완료 (실제로 완료되었을 때) 마무리 (현재 완료 날짜)에 대해 실제로 3 개의 마침표가 있습니다. (일단 작업이 완료되면 마무리 및 실제 마무리가 동일하지만 실제 마침을 기준선과 비교하여 늦게 발생했는지 확인할 수 있습니다. 진흙으로 맑아? :)

현재 날짜와 대상 날짜 (불완전한 작업) 또는 실제 완료 날짜 및 대상 날짜 (완성 된 작업) 간의 분산을 사용하여 다른 질문에 게시 된 날짜 계산을 참조하십시오. 추적 할 필드와 계산에서 사용할 필드가 어떤 필드를 사용할 수 있습니다.

sys.master_files . 를 사용할 수 있습니다.

마스터에 저장된 데이터베이스의 파일 당 행을 포함합니다. 데이터 베이스.이것은 단일 시스템 전체보기입니다.

I understand that it is a no no to use memcpy and memset but I haven't understood exactly how to use this in C++, preferably without std.

It's not a no-no to use memcpy and memset when their use is appropriate. Why should it be?

There's std::copy in C++ that copies a set of items (works on any type and not just char*) from an iterator to another.

Other than the inconvenience of having to manually copy and do all the memory allocation yourself, there's nothing wrong with that C++ code.

I would, however, strongly encourage the use of std::string for string manipulation in C++.

외부 목록은 업데이트 된 런타임이며 모든 데이터가 동기화되어 있으며 모든 작업 / 서비스를 실행하여 외부 목록과 SQL 데이터베이스간에 데이터를 동기화 할 필요가 없습니다!

페이지가 이미 열려있는 경우 페이지 새로 고침 만 필요합니다.)

SharePoint 양식이나 다른 리소스에서 데이터베이스에 데이터를 추가하면 동기화됩니다 ... 외부 목록보기를 열 때마다 실제로 데이터베이스에서 데이터를 가져 오기 때문에 다른 곳에서는 로컬 저장소 / 캐시가 없습니다.!

해당 페이지가 열려 있고 새 데이터가 표시되므로 [실시간으로 느끼게하기 위해서는] ... 단순한 JavaScript를 두 초마다 페이지를 다시로드하도록 설정할 수 있습니다.

이 도움이되기를 바랍니다

To copy from a to b, take std::copy(src_start,src_end,dest_start) which increments src_start and copies it to the next destination element until src_start==src_end is met.

memcpy(oldname,name,strlen(name)+1)
// is the same as
std::copy(name,name+strlen(name)+1,oldname)

.. except it will also work for non-PODs, and you don't need to mess with byte lengths if a single element is more than one byte.

However, if you just want to do string manipulation, the std::string class (and std::wstring for wide char strings) are provided. Concatenating them is as simple as:

std::string s = "name",s2 = ..,s3 = ..;
s = s2+s+s3+"Hello";

Nothing keeps you from using the strxxx family of functions in C++, but I'd highly recommend you to switch to std::stringand rest of the STL. It's not perfect either, but much less error-prone.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top