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 ạ
Bài liên quan
Bạn tham khảo ở đây xem
http://www.cplusplus.com/reference/string/string/c_str/