c - 为什么我的程序似乎超过了一些数字?
问题描述
我需要一些帮助我不明白为什么我的程序没有记录正确的数字。它将记录部分号码,但跳过其余部分。
示例(我想要它):
Player Name: Lev Yashin
Sign Up Time: 9 09
Sign In Time: 1 01
Player Name: Andrei Arshavin
Sign Up Time: 6 09
Sign In Time: 12 15
Player Name: Igor Akinfeev
Sign Up Time: 7 36
Sign In Time: 5 29
Player Name: Igor Netto
Sign Up Time: 4 28
Sign In Time: 7 29
但是当我运行我的代码时,我得到:
Player Name: Lev Yashin
Sign Up Time: 9 9
Sign In Time: 1 1
它看起来像通过零,我似乎无法理解它为什么这样做。偶尔我会传入一些其他数据,它会产生所有的数字。有人对为什么它不包含一些数字有任何想法吗?
int modifyStr(FILE *soccerWebsiteData, char firstAndLast[], char *pSignUpHours, char *pSignUpMinutes, char *pSignInHours, char *pSignInMinutes) {
char *position = NULL;
char oneLineOfFile[MAX_LENGTH];
char signUpHours = 0, signUpMinutes = 0, signInHours = 0, signInMinutes = 0;
while (!feof(soccerWebsiteData)) {
fgets(oneLineOfFile, MAX_LENGTH, soccerWebsiteData);
position = strchr(oneLineOfFile, ',');
strncpy(firstAndLast, oneLineOfFile, (position - oneLineOfFile));
firstAndLast[(position - oneLineOfFile)] = '\0';
signUpHours = atoi(position + 1);
*pSignUpHours = signUpHours;
position = strchr(position, ':');
signUpMinutes = atoi(position + 1);
*pSignUpMinutes = signUpMinutes;
position = strchr(position + 1, ',');
signInHours = atoi(position + 1);
*pSignInHours = signInHours;
position = strchr(position, ':');
signInMinutes = atoi(position + 1);
*pSignInMinutes = signInMinutes;
printf("Player Name: %s \n", firstAndLast);
printf("Sign Up Time: %d %d \n", signUpHours, signUpMinutes);
printf("Sign In Time: %d %d \n", signInHours, signInMinutes);
}
return 0;
}
解决方案
推荐阅读
- r - 在光栅图像中将双月儒略日转换为日期
- c# - ASP.NET:使用#temp 表存储会话以在其上运行其他存储过程
- apache-spark - pyspark 哈希是否保证不同输入的唯一结果?
- javascript - Discord 机器人删除命令
- wordpress - 在类别列表下提取单个帖子特色图像
- python - Python 避免使用 for 循环或需要缩短代码库
- sql - 当 Event Action = "something" 时更新 GA 的事件类别
- angular - Angular - 单击时动态 ngDropdown 不扩展
- git - 如何从 PyCharm 共享我在 GitHub 上的整个存储库?
- html - 如何创建打开电子邮件的链接到您的个人电子邮件地址