每次读取一行,可以用fgets( char* string,
int n,
FILE *stream);
只要n大于字符最多行的字符数,每次都会读取整行。
每次写入一行,可以用int fputs(
const char* string,
FILE* stream
)
如果使用
size_t fwrite(
const void* buffer,
size_t size,
size_t count,
FILE* stream
)
则要注意一点,count这个参数一定要是实际要写入的数目,不能像fgets的n一样,可以自定义,否则写入会混乱。
C++的方式:
char szFilePath[MAX_PATH] = {0};
sprintf(szFilePath, "%s\\config\\InvalidWords.txt", m_strFilePath);
ifstream ifs(szFilePath);
if (ifs.bad())
{
return;
}
bool bError = false;
char szName[100] = {0};
wchar_t wszName[100] = {0};
while (!ifs.eof()){
if (m_nInvalidNameCount >= MAX_INVALID_NAME_COUNT)
{
break;
}
if (!ifs.getline(szName, 99 * sizeof(char)))
{
bError = true;
break;
}}