Phân tích chuỗi giữa hai dấu phân cách C++

Điều tôi muốn là nhận được từ "visualbasic" giữa hai dấu phân cách < và >, sau đó thêm ". com" đến từ tôi. e" trực quan. com" và cuối cùng thêm từ này trở lại chuỗi str để chuỗi str hiển thị là "Chào mừng bạn đến với thế giới"

Bài viết này trình bày mã C plus plus [C++] để trích xuất/thay thế một chuỗi con giữa hai dấu phân cách hoặc ký tự bằng cách sử dụng các hàm find và substr

Trích xuất chuỗi giữa hai dấu phân cách

Ví dụ: nếu bạn muốn trích xuất chuỗi giữa hai dấu phân cách “[” và “]” từ Sri[nivas]an , thì mã CPP sẽ là

#include  
using namespace std; 
  
int main[] 
{ 
    // Take any string 
    string s1 = "Sri[nivas]an"; 
  
    // Find the position of first delimiter 
    int firstDelPos = s1.find["["];
    // Find the position of second delimiter
    int secondDelPos = s1.find["]"];
    // Get the substring between two delimiters
    string strbetweenTwoDels = s1.substr[firstDelPos+1, secondDelPos-firstDelPos-1]; 
  
    // prints the result 
    cout m_SerialNo.c_str[]];
					dloadAvailable = DoCheckForProductUpdates[MPoint];
					if[dloadAvailable]
					{
					GetUpdate[MPoint];
					}
				}
				delete MPoint;

				RMproduct* ReRite = new RMproduct[L"ReRite",ReriteService, ReriteVersion];
				if [isPrdInstalled[ReRite]]
				{
					GetVersion[ReRite];
					ReRite->m_SiteCode = m_CSiteCode.GetReRiteSiteCode[ReRite->m_SerialNo.c_str[]];
					dloadAvailable = DoCheckForProductUpdates[ReRite];
					if[dloadAvailable]
					{
					GetUpdate[ReRite];
					}
				}
				delete ReRite;

				RMproduct* ReRiteAsian = new RMproduct[L"ReRite",ReriteAsianService, ReriteAsianVersion];
				if [isPrdInstalled[ReRiteAsian]]
				{
					GetVersion[ReRiteAsian];
					ReRiteAsian->m_SiteCode = m_CSiteCode.GetReRiteAsianSiteCode[ReRiteAsian->m_SerialNo.c_str[]];
					dloadAvailable= DoCheckForProductUpdates[ReRiteAsian];
				if[dloadAvailable]
					{
					GetUpdate[MPoint];
					}
				}
				delete ReRiteAsian;

			}
		
	}

Đây là dịch vụ btw. Bây giờ chức năng GetUpdate gọi một chức năng gọi là downloadfile

Tệp tải xuống này đang tạo một chuỗi gọi hàm toàn cục downloadthread để tải xuống bản cập nhật. Hành vi của chức năng chuỗi tải xuống này là ngay cả khi dịch vụ dừng sau khi được khôi phục, nó sẽ bắt đầu tải xuống ở nơi nó kết thúc

Bây giờ điều tôi muốn biết là trong khi luồng đầu tiên đang tải xuống bản cập nhật đầu tiên thì nó có chuyển sang bản cập nhật tiếp theo và tải xuống không?

Thanks,
Jayjay

XỬ LÝ Array_Of_Thread_Handles[3];

Handle_Of_Thread_1 = CreateThread[ NULL, 0, Thread_no_1, [[void*]prd], 0, NULL];
if [ Handle_Of_Thread_1 == NULL] ExitProcess[Data_Of_Thread_1];

// Lưu trữ các Thread handle trong Array of Thread Handles theo yêu cầu của WaitForMultipleObjects[]
Array_Of_Thread_Handles[0] = Handle_Of_Thread_1;

Ở đây bạn đang tạo một mảng xử lý chưa được khởi tạo, sau đó chỉ thiết lập thành viên đầu tiên. Các tay cầm còn lại sẽ chứa các giá trị rác

// Đợi cho đến khi tất cả các luồng kết thúc
WaitForMultipleObjects[ 3, Array_Of_Thread_Handles, TRUE, INFINITE];

Và ở đây, bạn đang đợi tất cả các giá trị xử lý bao gồm các giá trị xử lý rác, cuối cùng sẽ dẫn đến lỗi

Bây giờ điều tôi muốn biết là trong khi luồng đầu tiên đang tải xuống bản cập nhật đầu tiên thì nó có chuyển sang bản cập nhật tiếp theo và tải xuống không?

Bạn vừa tạo một chủ đề duy nhất

Trân trọng,
Jijo

_____________________________________________________________

http. //weseetips. com[^] Mẹo và thủ thuật Visual C++. Cập nhật hàng ngày


Hi Jijo,

Cảm ơn vi đa trả lơi
vì vậy tôi đã thay đổi nó thành

Bạn có nói rằng nó sẽ hoàn tất việc tải xuống bản cập nhật đó ngay cả khi nó nằm trên một chuỗi và sẽ không tải xuống các bản cập nhật khác không?

cảm ơn,
Jayjay

Những cập nhật nào khác?

Đánh dấu Salsbery
MVP của Microsoft - Visual C++


Chào Mark,

Đây là thỏa thuận

Vấn đề là MPoint2 và MPoint3 không chắc chắn tồn tại nếu chúng không tồn tại mã sẽ chỉ tải xuống một bản cập nhật nếu chúng tồn tại, nó có thể tải xuống 2 hoặc 3 bản cập nhật. Nhưng chắc chắn một điều tồn tại. Tôi phải tạo chủ đề như thế nào trong loại sự kiện này?

Thanks,
Jayjay

Mã của bạn như chương trình không có gì đa luồng
Phương thức DownloadFile[] tạo ra một luồng, nhưng vì nó
đợi chuỗi hoàn thành, đây thực sự là một quá trình phức tạp
cách để làm việc trên MỘT chủ đề

Tôi không hoàn toàn chắc chắn những gì bạn đang cố gắng làm

Bạn có muốn một chủ đề riêng biệt cho mỗi lần tải xuống và sau đó
một cách để đợi tất cả các luồng hoàn thành trước khi
ứng dụng tiến hành?

Đánh dấu Salsbery
MVP của Microsoft - Visual C++


Chào Mark,

Tôi muốn có một chuỗi riêng cho mỗi lần tải xuống và có thể đợi tất cả quá trình tải xuống hoàn tất hoặc để ứng dụng tiếp tục trong khi tải xuống, bất kỳ điều gì phù hợp với tôi

Thanks,
Jayjay

có phiên bản x64 của HTMLHELP không. LIB?

tôi đang cố di chuyển một dự án sang x64 và tôi đang nhận được một bên ngoài chưa được giải quyết trên HtemlHelpA

::HtmlHelpA[NULL, path, HH_DISPLAY_TOPIC, 0];

chức năng được xác định trong htmlhelp. h, nhưng nó dường như không có trong. LIB

tôi đã làm tất cả những gì tôi có thể làm

Chào mọi người,
trong ứng dụng của mình, tôi muốn đọc tất cả các giá trị khóa và dữ liệu của một số thư mục đăng ký, vì vậy tôi đang sử dụng hàm RegEnumValue này nhưng khi tôi giữ chức năng này trong vòng lặp thì nó đang đọc một vài giá trị và bị lỗi ở giữa
bất cứ ai có thể gợi ý cho tôi lý do cho việc này tôi đính kèm mã tôi đã sử dụng cho việc này

và thất bại ở giữa

Chúng ta có phải đoán ở đâu không?

"Thương người mà dùng, không phải thương người mà dùng người. " - Không xác định

"Những bức tường gạch tồn tại là có lý do. để ngăn chặn những người không muốn nó đủ nặng. " - Randy Pausch

Làm cách nào để tách một chuỗi trong C bằng nhiều dấu phân cách?

Sử dụng hàm strtok[] trong c và C++. trong khi Python có hàm split[] mã hóa chuỗi dựa trên dấu phân cách. Trong Java có một lớp StringTokenizer cũng làm điều tương tự.

strtok có thể lấy nhiều dấu phân cách không?

Đối số strtok có thể chứa bao nhiêu dấu phân cách tùy ý .

Làm cách nào để tách một chuỗi không có dấu phân cách trong C?

vòng lặp với memcpy . Nên làm vậy.

Làm cách nào để tách một chuỗi trong C?

Trong C, hàm strtok[] được sử dụng để tách một chuỗi thành một loạt mã thông báo dựa trên một dấu phân cách cụ thể. Mã thông báo là một chuỗi con được trích xuất từ ​​chuỗi gốc.

Chủ Đề