cuốn sách gpt4 ai đã làm

Cách tìm kiếm tệp cho các dòng cụ thể bắt đầu bằng một chuỗi

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 05:44:41 26 4
mua khóa gpt4 Nike

Tôi đang cố gắng thực hiện chương trình nhỏ này và cần sự giúp đỡ.

Có một tệp .txt:

nhà namas
mèo katina
chó suo
số skaicius

Tôi muốn tìm một dòng bắt đầu bằng một từ cụ thể và in từ thứ hai của dòng đó. Ví dụ người dùng nhập từ Katinas. Chương trình nhìn vào tập tin và tìm thấy Katinas Dòng đầu tiên được in cuối cùng.

Những gì tôi hiện có:

int main()
{
từ char;

printf("Nhập từ của bạn: ");
scanf("%s", &word);

TẬP TIN *fp;
fp = fopen("data.txt", "r+");
bộ đệm char[256];
while (fgets(buffer, sizeof buffer, fp) != NULL && atoi(buffer) != word)
;
nếu (feof(fp))
{
printf(&buffer);
}
fclose(fp);

return 0;
}

Cảm ơn.

câu trả lời hay nhất

Như đã chỉ ra ở nơi khác, có một số lỗi trong mã. Câu trả lời này sẽ tìm những từ hoàn chỉnh, chẳng hạn như "suo" thay vì "su".

#include
#include

int main()
{
char word[256]; // không gian chuỗi thích hợp (không phải char đơn)
bộ đệm char[256];
char *sptr;
TẬP TIN *fp;
tìm thấy int = 0;

printf("Nhập từ của bạn: ");
scanf("%s", word); // yêu cầu một con trỏ chuỗi (lưu ý không &)

fp = fopen("data.txt", "r"); // đã xóa "+"
nếu (fp) {
while (fgets(buffer, sizeof buffer, fp) != NULL) {
sptr = strtok(bộ đệm, " \t\r\n");
if (sptr && strcmp(sptr, word) == 0) {
sptr = strtok(NULL, " \t\r\n");
nếu (sptr) {
printf("%s\n", sptr);
tìm thấy = 1;
phá vỡ;
}
}
}
fclose(fp);
}
nếu (! tìm thấy)
printf ("không tìm thấy%s\n", word);
return 0;
}

Về c - cách tìm kiếm tệp cho một dòng cụ thể bắt đầu bằng một chuỗi, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/31033451/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress