您好,我需要一個程序從文本文件 中讀取一個字符串,它的格式爲(abc12345)。我只需要閱讀 號碼,因爲我需要修改該號碼。 然後我需要再次修改編號的字符串。 Ex輸入:abcd12345輸出:abcd12346 我只知道從文件讀取整行(字符串)。 我在想,也許如果我把字符串分成兩個字符串 一個字符和另一個數字,但我不知道這樣做。從字符串中讀取數據C
這裏是我做的代碼:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char c[20];
FILE *in,*out;
out=fopen("out.txt","w");
if ((in=fopen("in.txt","r"))==NULL)
{
printf("Error! opening file");
exit(1);
}
fscanf(in,"%20s",c);
printf("String that was read: %s",c);
fprintf(out,"%s",c);
fclose(in);
return 0;
}
如果字符串前綴始終是一樣的,如'abcd'那麼你可以使用'sscanf的(C, 「ABCD%d」,&VAL) '改變'val',然後做'printf(「abcd%d」,val)'。 – lurker
「我在想,也許如果我把字符串分成兩個字符串和一個數字」 - 好主意! 「但我不知道這麼做。」 - 通過查找字符串中的第一個十進制數字? –
看看'ctype.h'。它有你可以使用的函數,如'isalpha()'和'isdigit()'。然後,只需手動瀏覽字符串,查找它從alpha變爲數字的位置,然後使用該索引來創建兩個拆分字符串。 –