01/10/2018, 11:25

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
", 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 ạ

Pham Van Hai viết 13:31 ngày 01/10/2018

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

Bài liên quan
0