是否可以獲取一個字串并從中獲取兩個不同的值以存盤在不同型別的變數中,更具體地說,一個整數和一個字符。
簡要示例:
字串:“A - 3”
整數:3
字符名稱:'A'
我見過人們從一個字串中獲取多個 int 但對我沒有任何作用。我應該補充一點,我對 C 很陌生,所以我真的不知道如何搞砸它。
它是一個幻燈片拼圖迷你游戲,我需要讀取一個包含用戶所有指令的文本檔案,格式化為每個數字塊的方向(“8 r”= 8 向右),并在每一步都列印到終端。如果有人能建議我如何從檔案的一行中同時獲取一個 int 和 char,我也將不勝感激。
uj5u.com熱心網友回復:
您可以使用fscanf(), 中定義的stdio.h, 從檔案中讀取:
int fscanf (FILE *stream, const char *format-string, argument-list)
stream是您之前打開的檔案。fscanf()回傳它成功轉換和分配的欄位數。回傳值不包括 fscanf() 函式讀取但未分配的欄位。
例子:
#include <stdio.h>
int main()
{
FILE* f = fopen("file.txt", "r");
int value;
char ch;
if (fscanf(f, "%d - %c", &value, &ch) != 2)
printf("Error");
printf("value: %d\nchar: %c\n", value, ch);
fclose(f);
return 0;
}
檔案file.txt內容:
100 - A
輸出:
value: 100
char: A
如果您的目的是決議字串,實作此目的的最簡單方法是使用header中的strtok()定義:string.h
char *strtok(char *string1, const char *string2);
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/507333.html
標籤:C
上一篇:寫入malloc字串
