Ngắt các chuỗi các ký tự từ 1 dòng trong Text file

Em có nội dung file như sau

10
2
1 2 3 4 5 6 7 8 9 10

Với dòng 2 là số để xác định cần lấy nhiêu số ở dòng 3

#include<conio.h>
#include<stdio.h>
#include<math.h>
#include <fstream>
#include <string>
#include <iostream>
#include<stdlib.h>


using namespace std;

void main() {
	string line2;
	string line3;
	ifstream file;
	string a[100];
	file.open("C:/Users/Rider/Documents/Visual Studio 2015/Bai2/Input.txt");
	for (int i = 1; getline(file, line2) && i < 4; i++) {
		if (i == 2) {
			a[2] = line2;
		}
	}
	int k = atoi(a[2].c_str());
	file.close();
	//------phần lấy số lượng số cần tìm---------------




	/*-----Lấy chuối kí tự ở dòng 3*/
	file.open("C:/Users/Rider/Documents/Visual Studio 2015/Bai2/Input.txt");
	for (int i = 1; getline(file, line3) && i < 4; i++) {
		if (i == 3) {
			a[3] = line3;
		}
	}





	FILE* fp;
	char  line[255];
	fp = fopen("C:/Users/Rider/Documents/Visual Studio 2015/Bai2/Input.txt");
	while (fgets(line, sizeof(a[3]), fp) != NULL)
	{
		const char* val1 = strtok(line3, " ");
		printf("%s\n", val1);
	}

	file.close();

	_getch();
}

Tuy nhiên khi đến phần ngắt các ký tự bằng strtok em không thực hiện được với “Line3” vì nó là std:string không phải dạng char*, Nếu em đỗi a[] sang char thì không dùng được getline để lấy các dòng kí tự phù hợp trong text file
Mọi người ai có cách khác hay có thể khắc phục được trường hợp này giúp em ngắt chuỗi kí tự được không ạ

Bạn tham khảo ở đây xem
http://www.cplusplus.com/reference/string/string/c_str/

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?